Modeling & Transformation Research at the School of Industrial Engineering at Eindhoven University

0

No comments posted yet

Comments

Slide 1

Modeling & Transformation Research @ school of industrial engineering Pieter Van Gorp Information Systems March 3, 2010 @ Software Engineering and Technology Group (SET)

Slide 2

IS Faces IS: ~25

Slide 3

Intro Background: Model-Driven Development of Model Transformations Taxonomy of Model Transformation Techniques Follow-Up Transformation Tools Contest New Application Domain BPM Healthcare Current Research Survey Mining, iCON => PN2HSC validation

Slide 4

MHPW 2010 Making Healthcare Processes Work February 15-16, 2010

Slide 5

Why Healthcare? Source: CBS

Slide 6

How Philips approaches workflow, starting from definition, moving into implementation and finally towards monitoring in the field. Present examples of business intelligence approaches in the healthcare and argue for an extensive integration of information systems of healthcare providers Characterize the challenges related to healthcare process improvement from the point of view of medical informatics research. These challenges relate to representation of computer-interpretable healthcare processes that support action management and clinical decision making, handling uncertainty, and supporting flexibility In order to improve improve quality, safety and efficiency we designed and implemented two clinical workflows, ... the objective was to reduce mistakes and shorten overall process-time.  Each workflow is a combination of electronic forms, order-sets, a rules engine and a workflow engine. 

Slide 7

WFM in HC in NL

Slide 8

Group Avi Mandelbaum Data Language-dependent? The Patient’s view (server, manager) List of exceptions too long (interface design) QED= Quality- and Efficiency- Driven Redesign Pre-Op Process (3-6 months) After 6 months: DE or BE. Estim. waiting time? Quality: Operational/Medical/Service OR/OM, IS play 2nd violine Workflow systems are brainless [OR] Half-Electr./Paper= Error Prone RFID; 12: Ambulance Diversion Group Uzay Kaymak Model Ownership Tool support for Model Evolution Personalization by End-user (e.g. Notifications) External Access to Portal (GP, Patient) Workflows/data as input for simulations? 5 months, 500 patients => PROM => funding insur. c. Transformations (XPDL, Rules, Logs) Overspecification? 80/20 rule Architecture: integrating with external DSS Link to audit-trails  Research Agenda for Kaymak, Van Gorp, Mans Group Jan Vissers How to handle deviations in the WF system The involvement of users Digitizing a process without the intention to change the process, will result in a perceived other process The three objectives from the beginning of the talk (better, safer, cheaper)  did not return later in the presentation. Lack of an explicit modelling approach Group Yolanda van Dinther Benefit from automation? Amount of exceptions… What was the actual goal (SMART, KPIs)? Are hospital users more complicated than those in general ICT projects? What if the paper process was less literally translated into a digitized format? Modeling? Relation to standards like HL7? How to evaluate the first trial: was the time taken necessary to actually learn by experience?

Slide 9

SHARE demo 1 [Ingmar Frey]: PROTOS, CPNtools http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=XP_PROM5.0_CPNtoolsMachine_ErwinThesis.vdi

Slide 10

Real-life models from Healthcare? (Simulation) Models from TU/e research/master projects Real-life IT Consumer models QA dept develops textual “care paths” IT dept considers architectural guidelines IT dept relies on demos (not models) IT Provider models Low-level process models (XPDL) Models not shown to customers Exception: iCON

Slide 11

Gebruik van Modellen door IT professionals in HC Gevraagd:  - business models en process models uit de healthcare praktijk,  - de relaties ertussen,  - verschillende versies ervan,  - inconsistenties ertussen. Beste Pieter,   Hierbij stuur ik je een workflow voor de MRSA controle. In de 9mrsawf.xpdl vind je de workflow zelf en in de 9mrsawf.html de beschrijving van de workflow.   Succes! Beste ****, bedankt voor de bijlage. Tijdens ons telefoongesprek werd gesproken over een modelleringslaag en een uitvoeringslaag.  Op welke laag bevindt zich het model uit de bijlage?  Kan je me het gerelateerde model uit de andere laag ook nog doorsturen a.u.b.? Hallo Pieter, Deze xpdl is uit de uitvoeringslaag. De modelleringslaag voor deze workflow heb ik niet, omdat dit een nieuwe tool is van Tibco en nog niet voor alle workflows dit in deze tool is omgezet. Hallo Pieter, Sorry ik heb wel een modelleringslaag gevonden. Ik heb alleen geen originele elektronische versie hiervan. Groet ****** p.m.e.v.gorp@tue.nl

Slide 12

Alternative: start from logs! Example: fuzzy miner [Christian W. Günther]

Slide 13

Evaluation of Generic BPM/Trfo Research Example from FM 2009, revisited using GrGen.NET PN2HSC

Slide 14

Evaluation using Healthcare Logs... http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=XP_GB9_GrGen_live_AD2HSC_i_i_i.vdi Input: Petri-Net export (PNML) on output from Heuristics Miner

Slide 15

Output from PN2HSC

Slide 16

More mature results of BPM in HC Replaying history Conformance Checking Integration simulation <> workflow-engines

Slide 17

Conclusion for PN2HSC Need different clustering mechanism in HC context Different rules Research challenge: modeling model transformations Focus on understandability Use optimized compiler / execution engine PN2HSC: Java vs GrGen.NET

Slide 18

Avoid comparing apples and oranges

Slide 19

Solutions: Design Classification (not implied by language!)

Slide 20

Solutions: Performance Evaluation (small models) Between 140 and 1400 model elements Both solutions <1s, Do not use optimizations yet!

Slide 21

Solutions: Performance Evaluation (medium-size models) 10.000 elements is turning point 15.000 elements: Java mem-bound (32 bit)

Slide 22

Solutions: Performance Evaluation (large models) 10.000 elements is turning point 15.000 elements: Java mem-bound (32 bit)

Slide 23

Solutions: Scalability (huge model) 143.821 elements: 593s (~= 10min) 287.641 elements: 2498s (~= 40min)

Slide 24

Closeness of (Mental) Mapping Go back to documentation of Eshuis [FM 2009] Compare that documentation to the Implementations GrGen Java

Slide 25

25 Reduction step 1a for AND-joins Merging non-singleton pre & postset of transition Creating AND node Informal graphical rule as documentation Unclear whether qi are removed or just marked... Traceability to AND/OR tree implicit

Slide 26

GrGen Implementation of R1a rule trans_AND_join { -:pre->t:Transition<-:pre-; // at least two incoming arcs negative { :RoguePrePlace(t); } negative { // pre version of the other NAC :RoguePostPlace(t); } modify { p:Place -:pre->t; // completion of the folding :HSCandState <-:HSCcontains- :HSCorState <-:PN2HSC- p; // update tree and maintain trace eval { p.name= "ANDJOIN_"+t.name; } exec([handlePrePlace_1a(t,p)]); } } rule handlePrePlace_1a(t:Transition,p:Place) { q_i:Place -:pre-> t; // visit each place in the preset q_i -:PN2HSC-> or:HSCorState; // take the OR node of that place p -:PN2HSC-> :HSCorState -:HSCcontains-> parentAND:HSCandState; // take the AND node in which it should be contained modify { or <-:HSCcontains- parentAND; // put the OR node in the new AND node exec([move_incoming_arcs(q_i,p)] | [move_outgoing_arcs(q_i,p)] | [cleanupP(q_i)]); } } Negative Application Conditions (NACs) Subpatterns LHS RHS Subrules, control flow language [ ], &&, ... LHS RHS Currently input destructive Proposed Improvement [VanGorp2008PhD]: Higher order transformation to visualize the patterns!

Slide 27

Java Implementation of R1a Vector sources=t.getSources(); if (sources.size()>1){ if (checkTransitions(sources)){ Vector toreplace=new Vector(sources); // System.out.println("Replacing sources"); String tId = t.getId(); // tId = tId+ "_sources"; // // group sources into new node State newState = new State(tId); newState.addChildren(toreplace); newState.setAnd(); // newState.print(0); State newStateparent= new State("xx_o"); newStateparent.addChild(newState); newStateparent.setOr(); // System.out.println("1aTo replace"); for (i=0;i<transitions.size();i++){ Transition tx=(Transition)transitions.get(i); // System.out.println("Replace" + tx.getId() + "?") ; // tx.print(); Vector sourcesx=tx.getSources(); if (contain(sourcesx,toreplace)){ tx.clearSources(toreplace,newStateparent); } Vector targetsx=tx.getTargets(); if (contain(targetsx,toreplace)){ tx.clearTargets(toreplace,newStateparent); } } states.add(newStateparent); states.removeAll(toreplace); // System.gc(); } } Explicit iteration Explicit use of vector indices (<> OO MM) No MM type safety (retyping) Explicit sequential execution (multi-core...) Biggest concern: premature optimization! Pick transition t such that there is no t' s.t. t'  t  or t'  t Could be derived by program analysis Consequence of using a too low-level language?

Slide 28

28 Reduction step 2 for sequences Merging singleton pre & postset Creating OR node Similar mapping to GrGen/Java GrGen Found: extra rule needed for loops... How? By testing... Neither approach provides a mechanism to statically analyze constructs that cannot be transformed.

Slide 29

Testing => Debugging => Tools! Demo

Slide 30

Conclusions (PN2HSC Specific) GrGen solution scales better Excellent on huge graphs => focus on logs? Ironically, you care less about performance Premature optimization issue with Java solution Advantage of Declarative Language HOT from/to visual GT language desirable

Slide 31

Conclusions (General) Taxonomy: Language independent Rephrasing, Translation, Re-iteration Horizontal, Vertical M2M, M2T Semantical, Syntactical Helps researchers: Avoid comparing apples and oranges Helps identifying the “core” for comparison Helps developers decomposing, modularizing Dangerous to apply the transformation language metrics without considering design implications E.g., Input destructive, endogenous, ...

Slide 32

SET Collaborations Expertise in COBOL reverse engineering Also unstructured graphs Mechanisms for introducing hierarchy also applicable for clustering unstructured process models from HC? Participate in TTC (TOOLS2010) http://is.ieis.tue.nl/staff/pvgorp/events/TTC2010/ Case Solutions Role of transformation language metrics Relation to taxonomy? SHARE: Evaluate GT demos and contribute ASF+SDF demo? http://is.ieis.tue.nl/staff/pvgorp/share/

Tags: mde bpm healthcare transformations petri-nets workflows "reverse engineering" statecharts hierarchy "hierarchical statecharts"

URL: