Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.

Slides:



Advertisements
Similar presentations
A university for the world real R © 2009, Appendix A The Order Fulfillment Process Model Marcello La Rosa Stephan Clemens Arthur.
Advertisements

Don’t go with the flow : Web services composition standards exposed
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
Introduction to Workflow. Slide 2 Overview What is workflow? What is business process management? Common workflow and process problems The functional.
Interaction Patterns in Workflow Environments Research presentation by Martin Vasko.
Towards Workflow Pattern Support of Event-Driven Process Chains (EPC) Jan Mendling, Gustaf Neumann Dept. of IS and New Media, WU Wien, Austria Markus Nüttgens.
A Comparison of XML Interchange Formats for Business Process Management Jan Mendling, Gustaf Neumann Dept. of IS and New Media, WU Wien, Austria Markus.
Process Patterns in BizAGI. Slide 2 Overview Types of events Types of gateways Design patterns list.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
Introduction to Control Flow Patterns and BizAgi
Analysis Modeling.
Use Case Model. C-S 5462 Use case model describes what the user expects the system to do –functional requirements may describe only the functionalities.
1 Introduction to modeling Process modelling. 2 Where are we? #TitleDate 1Introduction ORM modeling Relational modeling
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
Task-Oriented, Policy Driven Business Requirements Elicitation for Web Services Stephen Gorton Department of Computer Science, University of Leicester,
Introduction to BizAgi. Slide 2 User Interface (Summary) The user interface for BizAgi resembles Office It uses a similar ribbon The Palette contains.
On the Expressive Power of (Petri-net-based) Workflow Languages
SE 555 Software Requirements & Specification 1 Activity Diagrams.
1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
BPEL4WS Stewart Green University of the West of England.
Workflow patterns using BPMN 2.0
Business Process Modeling Workflow Patterns Ang Chen July 8, 2005.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Management of IT Environment (3)
Workflow Description Language and Workflow Patterns Yi Wang.
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.
A university for the world real R © 2009, Chapter 23 Epilogue Wil van der Aalst Michael Adams Arthur ter Hofstede Nick Russell.
Development of a user interface generator for a workflow information system Supervisor : Prof. Jean Vanderdonckt Unité de Systèmes d’Information Mémoire.
Workflow Management Kap. 1. Organizing Workflows
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
1 Conceptual Modeling of User Interfaces to Workflow Information Systems Conceptual Modeling of User Interfaces to Workflow Information Systems By: Josefina.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Interfacing Registry Systems December 2000.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Object Diagram Notation Lecture Oo11 Object Visibility.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Web Service Composition workflow patterns in BPEL4WS Eyal Oren DERI 2004/06/02
Analysis of BPMN Models Addis Gebremichael 19 December 2014 Model Driven Engineering.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
Chapter 8 Analysis & Modeling. Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
(14-2) UML Instructor - Andrew O’Fallon CptS 122 (December 2, 2015) Washington State University.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
V7 Foundation Series Vignette Education Services.
Business Process Execution Language (BPEL) Pınar Tekin.
IST421: Advanced Systems and Enterprise Integration
System Architect support for Business Process Modeling Notation (BPMN)
Management of IT Environment (3)
Unified Modeling Language
Introduction to Control Flow Patterns and BizAgi
Chapter 9 Requirements Modeling: Scenario-Based Methods
UML Activity Diagrams & State Charts
Business Process Management Software
BPEL Eric Verbeek In these two hours (approx.) we will give an overview of BPEL, the Business Process Execution Language. We will also give some of the.
BPMN - Business Process Modeling Notations
Presentation transcript:

Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT

 Research work  Industry use  Tools and standards evaluations  DSL point of view 2

3

 The business process is a series of activities occurring within a company that lead to a specific end. (wisegeek.com)  A workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. (wikipedia.com) 4

 Identify generic, recurring business process modelling patterns  Unify existing patterns and focus on their expressive power  Language-independent formalism (Coloured Petri-Net) 5

 Formal description of a (business) process  Executable by a workflow management system  In practice: directed bipartite graph of tasks and transitions 6

 Healthcare/Pharmaceuticals  Prescriptions fulfillment, administrative tasks, …  Finance/Banking/Accounting  Error-free accounting, financial accuracy, …  Education  Government/Public Services/Human Resource  Multi-level approval processes  Manufacturing  Six Sigma method  Energy/Utilities  Legal Services/Insurances  IT  Customer Relationship Management 7

8

 1999: Foundation of the Workflow Pattern Initiative ▪ Profesor Wil van der Aalst (Eindhoven University of Technology) ▪ Profesor Arthur ter Hofstede (Queensland University of Technology)  20 first control-flow patterns  Van Der Aalst et al [WP]  Revision of the 20 first + 23 new control-flow patterns  Russell et al [WCFP] 9

 Control-flow patterns  Describes complex workflows (sequence, parallel, multi-threading, mutual exclusion, division and merging, synchronization, …)  Data patterns  Adds data manipulation, internal/external data interaction, data transfer and transformation, data-based routing  Resource patterns  Tasks creation and allocation schemes, detours of a resource in the middle of a task execution, and others…  Exception handling patterns  Work Item Failure, Deadline Expiry, Resource Unavailability, External Trigger, Constraint Violation 10

11 Source: van der Aalst et al., 2003 [WP] Diagram-based DSL

 Control-flow  Basic ▪ Sequence, Parallel, Synchronization, Exclusive Choice, Simple Merge  Advanced branching/synchronization ▪ Multi-choice, Multi-merge, Threads, Discriminators, Partial Joins  Multiple instantiation of activities on triggers  State-based ▪ Deferred Choice, Interleaved Routing, Milestone, Critical Sections  Cancellation, Force Completion, Iteration, Termination, Triggers 12

 Resource  Task creation ▪ Direct, role-based, deferred, capability-based, history-based, …  « Push » task distribution ▪ By offer, random, round-robin, shortest queue, …  « Pull » task distribution  Detour ▪ Delegation, escalation, deallocation, stateful/stateless reallocation, suspension, resumption, skip, redo, pre-do  Auto-start  … 13

 Data  Visibility ▪ Task, block, scope, multiple instance, folder, workflow, environment  Interaction (inside components) ▪ Task to task, to multiple tasks (by reference, by value), from multiple tasks  External Interaction ▪ From environment, to environment  Transfer (between components) ▪ By value, by reference (locked, unlocked)  Data-based routing/triggers 14

 Exceptions  Work Item Failure  Deadline Expiry  Resource Unavailability  External Trigger  Constraint Violation 15

16

XPDL (2.1 - WfMC) BPMN (1.2 – BMI DTF) WS- BPEL (2.0 - OASIS) BPMI? (BMI DTF?) XML Process Definition Language (2002) Business Process Modelling Notation (2004) Business Process Execution Language (2002) Interface (mapping) between XPDL and BPMN (????) 17

18

Manager <NodeGraphicsInfo LaneId="1" ToolId="Interstage BPM » IsVisible="true" Page="1"> […] XML file Also contains meta-data Reference: [XPDLEx] 19 Goal: exchange format for models of workflow products

<partnerLink name="printService" partnerLinkType="print:printLink" partnerRole="printService"/> <variablename="hello_world" messageType="print:PrintMessage" /> Hello World $hello_world.value <invokepartnerLink="printService"operation="print" inputVariable="hello_world" /> 20 Programming logic - BPEL Data types - XSD Input/Output (I/O) - WSDL Reference: [BPELEx]

 Partner Links / Endpoints  Identifies parties you interact with  Variables  Data container (XSD value or WSDL message)  Assignments  Invocations  Invokes a web-service endpoint 21

22

STRENGHTS  Designed to be flexible  Seems to support much of the Workflow Patterns  The new version should add semantics and interoperability (via a standard meta-model) WEAKNESSES  Providing flexibility implies no formal execution semantics (?) 23

STRENGHTS  Current mainstream interchange standard  Supports human workflows WEAKNESSES  Lacks formal execution semantics (transactions, faults, …)  Not flexible enough to successfully cover BPMN (and BPMN vendor-specific extensions)  Ambiguous interpretations of the standard  Only partial mapping to BPEL (missing contructs + ambiguities) 24

STRENGHTS  Industry-accepted standard for SOA (Oracle, IBM, Microsoft, SAP, BEA, Fuego, Lombardi, …)  Designed specifically for business processes (interacting through web- services) WEAKNESSES  Does not support human workflows and user interactions (in a standard way) -> BPEL4People and WS-HumanTask (role- based human tasks)  No standard modeling notation (BPMN bindings) 25

 Much debate around their unification  BPMN is more businessperson-friendly, BPEL requires more knowledge, someone would lose something.  Keeping the same model during the whole process (modeling + execution) would be good, but…  … separating them allows the model to evolve while it is being executed with no issue (hot process migration?).  The same BPMN model will produce different BPEL behaviors depending on the vendor interpretation. 26

27 Reference: [Interop]

28 Reference: Wohed et al [BPM2BPMN] + direct support+/- partial support- lack of support

29 Reference: Wohed et al [BPM2BPMN]

30 Reference: Wohed et al [BPM2BPMN]

ToolBPMN support XPDL support WS-BPEL support CommercialOpen Source Adobe LiveCycleXXXX Appian EnterpriseXXXX Bonita & OrchestraXXXX Enhydra SharkXXXX Fujitsu Interstage BPMXXXX Global 360 BOSXX?X IBM FileNet BPMXXXX IntalioXXX Oracle BEAXXXX Lombardi BluePrintXXXX ProcessMakerXX-X 31

 XPDL implementations: ADVANTYS WorkflowGen, Amazonas Workflow, Arachnea EverSuite, Appian Enterprise, Ascentn AgilePoint Server, Aspose'sAspose.Workflow, Assetlink Corporation, BOC ADONIS, BEA Systems, Brein VB's InProces, Bonita, ProEd Workflow Editor, Canto CanFlow, CapeVisions, CHALEX BPM Framework, ComActivity, Cordys BPMS, COSA Designer, Cubetto Toolset, Eclaire Group LynxFlow Designer, EMC Documentum ApplicationXtender Workflow, EMC Documentum Process Suite, Enhydra Shark, Enhydra JaWE, First Trace’s Kinnosa Workflow, FinantixStudio FXS, Fujitsu Interstage BPM (i-Flow), FileNet Business Process Manager, Global 360 Business Optimzation Server (BOS), HOGA.PL'S intraDok, IBM FileNet Business Process Manager, IDS Scheer Business Architect, iGrafx, Interwoven WorkRoute MP, Infinity Process Engine, Infor (formerly SSA Global), ITP-Commerce Design, jawFlow, Jenz & Partner's BPEdit, KAISHA-Tec's ActiveModeler Avantage, Lombardi's Blueprint, Metoda S.p.A OpenMet BPMF, Mono-sys's Tigris BPM, Nautica, Open Business Engine, OpenPages Governance Platform, Openwork, Oracle 9i Warehouse Builder, Pentaho's B1 Platform, Projekty Bankowe Polsoft's BPB Workflow, proLOGIT BPR Business Process Reporter, QualiWare, R-Data's E-SOD, Rodan Systems OfficeObjects Workflow, Savvion, Simprocess from CACI, Software AG's Crossvision BPM, SpeechCycle's LevelOne virtual CSR platform, TIBCO iProcess Suite, Together Workflow Editor, Transware Ambassador, Unisys, Vignette Process Workflow Modeler, W4's W4 BPM Suite, WfMOpen, Workflow::Wfmc, Zynium's Byzio  BPEL engines: ActiveVOS, Apache ODE, BizTalk Server, iBolt Server, jBPM, Open ESB, Oracle BPEL Process Manager, OW2 Orchestra, Parasoft BPEL Maestro, Petals BEPL Engine, SAP Exchange Infrastructure, Virtuoso Universal Server, Websphere Process Server 32

 Yet Another Workflow Language  By the « Workflow Patterns » team  YAWL vs. (WS-)BEPL  BPEL is an industry standard, YAWL has only one implementation.  Both have static analysis tools (based on Petri nets, Process Algebra, Finite State Machine).  YAWL provides support for human tasks.  YAWL supports all Workflow Patterns. (BEPL 2.0 reduces the gap) 33

34

 Three DSLs maintained by three organisms, with three goals (sometimes overlapping)  Serialization and interoperability issues  Expressiveness issues (vendors extend the standards, impossibility of full interoperability)  Domain Specific Meta-Language for domain concepts? (Business Process Definition Metamodel, by the OMG)  Target issues (businessperson-friendly WYSIWYG solutions vs. IT savvy flexibility) 35

36

[BPELEx] Antony Miguel. WS-BPEL 2.0 Tutorial. Tutorial – Basic BPEL [BPM2BPMN] P. Wohed, W. M. P. van der Aalst, M. Dumas, A.H.M. ter Hofstede, and N. Russell. On the Suitability of BPMN for Business Process Modelling. In Proceedings 4th International Conference on Business Process Management (BPM 2006), LNCS [BPMN2BPEL] Chun Ouyang, Marlon Dumas, Arthur H. M. ter Hofstede, and Wil M. P. van der Aalst From BPMN Process Models to BPEL Web Services. In Proceedings of the IEEE International Conference on Web Services (ICWS '06). IEEE Computer Society, Washington, DC, USA, DOI= /ICWS [Interop] Keith Swenson. Collaborative Planning & Social Business. The BPMN-XPDL-BPEL value chain [WCFP] N. Russell, A.H.M. ter Hofstede, W.M.P. van der Aalst, and N. Mulyar. Workflow Control-Flow Patterns: A Revised View. BPM Center Report BPM-06-22, BPMcenter.org, 2006.Workflow Control-Flow Patterns: A Revised View 37

[WDP] N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst. Workflow Data Patterns. QUT Technical report, FIT-TR , Queensland University of Technology, Brisbane, 2004.Workflow Data Patterns [WP] W. M. P. van der Aalst, A. H. M. ter Hofstede, B. Kiepuszewski, and A. P. Barros Workflow Patterns. Distrib. Parallel Databases 14, 1 (July 2003), DOI= /A: [WRP] N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst. Workflow Resource Patterns. BETA Working Paper Series, WP 127, Eindhoven University of Technology, Eindhoven, 2004.Workflow Resource Patterns [XPDLEx] Keith Swenson. XPDL.org. XPDL BPMN Example [YAWL] W. M. P. van der Aalst and A. H. M. ter Hofstede YAWL: yet another workflow language.Inf. Syst. 30, 4 (June 2005), DOI= /j.is