SlideShare a Scribd company logo
CAiSE2017
Linking Data and BPMN Processes
to Achieve Executable Models
Giuseppe De Giacomo,
Xavier Oriol, Montserrat Estañol, Ernest Teniente
CAiSE2017
Content
• Context
• Our Approach
• Overview
• Starting Models
• The Playlists Example
• Achieving Executable Models
• Related Work
• Conclusions
CAiSE2017
 Hardware Retailer in BPMN
Context: A Process Model
Pros:
Intuitive
Straightforward
Clear
!However:
How does the Clerk decide if it is a normal post or requires a
special shipment?
When is extra insurance necessary?
By connecting with data, we would be able to
define precisely what each of the tasks does
CAiSE2017
Context
• Two assets in organizations:
UML Class Diagram BPMN Diagram
CAiSE2017
Context: Linking Data and Processes
• Data-centric approach to process modelling
• Data
• Details of the tasks => necessary to have data available
• Order of execution of the tasks
Achieve an executable process model based on the
data-centric approach
GOAL
CAiSE2017
Starting models
Standard notations
• We have to link them together
• Achieve executability
Data Processes
UML Class Diagram BPMN Diagram
How?
CAiSE2017
Playlists Example
 Process to create playlists from tracks of musical
albums
UML Class Diagram
CAiSE2017
Playlists Example
BPMN diagram
• We have to link them together
• Achieve executability
How?
CAiSE2017
Playlists Example
BPMN diagram
Issues
1. Keeping track of the process variables
2. Knowing what each of the tasks does
CAiSE2017
Playlists Example
1. Adding class
<<artifact>> to the
class diagram
Solution:
CAiSE2017
Playlists Example
2. Defining the tasks in OCL operation contracts
Solution:
CAiSE2017
Achieving Executable Models
 Now we have data and process linked
together…
 How do we achieve executability?
CAiSE2017
Achieving executable models
 How do we achieve executability?
– Translating them to other models
 Translation:
– UML class diagram => Database schema
– BPMN diagram => Petri net
– OCL Op. contracts => Logic rules that derive in SQL
statements
CAiSE2017
Achieving executable models
 UML Class Diagram to a DB Schema
CAiSE2017
Achieving executable models
 BPMN diagram to a Petri net
CAiSE2017
Achieving executable models
 OCL Op. Contracts to Logic Derivation Rules
Issues
OCL is declarative instead of imperative
CAiSE2017
Achieving executable models
 OCL Op. Contracts to Logic Derivation Rules
For instance,
ins_P(x̅) :- opName(a), arg0_opName(x̅0), …, argN_opName(x̅n), pre(x̅pre), query(x̅q)
del_P(x̅) :- opName(a), arg0_opName(x̅0), …, argN_opName(x̅n), pre(x̅pre), query(x̅q)
result(x̅) :- opName(a), arg0_opName(x̅0), …, argN_opName(x̅n), pre(x̅pre), query(x̅q)
ins_Playlist(Pl) :- buildplaylist(A), artifactPlname(A,Pl)
ins_TrackIn(Tr, Pl) :- buildplaylist(A), artifactPlname(A,Pl), artifactTrack(A,Tr)
CAiSE2017
Achieving executable models
 OCL Op. Contracts to Logic Derivation Rules
1. Determine the effect (ins/del) of the contract by recognizing OCL operations
2. Translate the arguments of the OCL operation into logic queries
ins_Playlist(Pl) :- buildplaylist(A), artifactPlname(A,Pl)
ins_TrackIn(Tr, Pl) :- buildplaylist(A), artifactPlname(A,Pl), artifactTrack(A,Tr)
Queralt, A., Teniente, E. Validation of UML Conceptual Schemas with Operations
CAiSE 2008
CAiSE2017
Achieving executable models
 OCL Op. Contracts to Logic Derivation Rules
ins_Playlist(Pl) :- buildplaylist(A), artifactPlname(A,Pl)
ins_TrackIn(Tr, Pl) :- buildplaylist(A), artifactPlname(A,Pl), artifactTrack(A,Tr)
INSERT INTO Playlist SELECT plName FROM Artifact
INSERT INTO TrackIn SELECT track, plName FROM Artifact JOIN ArtifactTrack
These rules can be further translated into SQL
1. Determine the effect (ins/del) of the contract by recognizing OCL operations
2. Translate the arguments of the OCL operation into logic queries
CAiSE2017
Executing the framework
 We have implemented a Java library such that:
– Given (at compilation time) the models and a DB connection
– Given (at runetime) an operation name and its arguments
– The library updates the DB according to the specification of the
operation invoked
http://www.essi.upc.edu/~xoriol/opexec
CAiSE2017
Executing the framework
 Architecture
CAiSE2017
Executing the framework
 What do we have now?
– Execution of 1st order operations in the DB
– Incrementally controlling the consistency of 1st order constraints
– Controlling concurrent invocations of operations
 What do we have to incorporate?
– Current input models are the logic translations, we plan to move
to real UML/OCL models
– Checking the BPMN flow is outside the library
CAiSE2017
Related Work
 Business Process Validation
– Approaches fully based on logics
– Approaches based on formal Graphical Languages
• Guard-Stage Milestones, Artifact union graphs, etc
 Business Process Execution
– BPEL, XML nets (Petri-nets based), YAWL
All of them use formal languages, but our approach uses
standard well-known languages: BPM+UML/OCL, at the
cost of using/defining a formal interpretation for them.
Our approach is aligned with the work of [1], but we aim
here at execution rather than validation
[1] Estañol, M., Sancho, M., Teniente, E.: Verification and validation of UML artifact-centric business
process models. In: CAiSE 2015. Volume 9097 of LNCS., Springer (2015) 434–449
CAiSE2017
Conclusions
 We have proposed a framework for linking data and processes:
– BPMN to define the process
– UML to define data + a UML artifact class to define the process data.
– OCL to define how BPMN activities modify UML data
 The framework is formal enough to be executed:
– BPMN -> Petri Nets
– UML -> SQL tables
– OCL -> Logic Rules -> SQL statements
 We have implemented the framework as a Java library
– It uses an Incremental Integrity Checking mechanism
– http://www.essi.upc.edu/~xoriol/opexec/
CAiSE2017
Thanks for
your attention
Full paper at:
https://doi.org/10.1007/978-3-319-46523-4_11

More Related Content

PPT
Reducing Complexity Of Large EPCs
PPTX
Functions in programming language
PDF
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
ODP
NASA Formal Methods Symposium
PDF
Cross Language Process Model Reuse Po Em2009
PDF
Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...
PDF
Business Process Modeling
PDF
BPM2017 - Integrated Modeling and Verification of Processes and Data Part 1: ...
Reducing Complexity Of Large EPCs
Functions in programming language
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
NASA Formal Methods Symposium
Cross Language Process Model Reuse Po Em2009
Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...
Business Process Modeling
BPM2017 - Integrated Modeling and Verification of Processes and Data Part 1: ...

Similar to Linking Data and BPMN Processes to Achieve Executable Models (20)

PPT
Software System Engineering - Chapter 13
PDF
ATAED2016 Montali - Marrying data and processes: from model to event data ana...
PPT
DataFlowDiagram.ppt
PPT
Chapter_07IntroductiontoSoftwareEnginnering.ppt
PDF
III Conferência CMMI Portugal, Presentation 4: Make the Software Process Visi...
PDF
Verification of Data-Aware Processes at ESSLLI 2017 1/6 - Introduction and Mo...
DOCX
Bt8901 object oriented systems-de (1)
PDF
AutomationML: A Model-Driven View
DOCX
Bt8901 object oriented systems-de (1)
PPTX
BABoK V2 Requirements Analysis (RA)
PPT
Process aware information systems
PPTX
'Usage of business processes models: Theory and Practice by J.Bicevskis, G. K...
PPT
BPMN process views construction
PPTX
Integrating Performance Modeling in Industrial Automation through AutomationM...
PDF
Introduction to UML
PPTX
UML Practical.pptx System Analysis and Design
DOC
Tibco business events (be) online training institute
PPTX
The secret life of rules in Software Engineering
PPTX
CSC3070 - Lecture 19 (Data Flow Diagram - I).pptx
PPTX
SE - Lecture 3 - Software Tools n Environment.pptx
Software System Engineering - Chapter 13
ATAED2016 Montali - Marrying data and processes: from model to event data ana...
DataFlowDiagram.ppt
Chapter_07IntroductiontoSoftwareEnginnering.ppt
III Conferência CMMI Portugal, Presentation 4: Make the Software Process Visi...
Verification of Data-Aware Processes at ESSLLI 2017 1/6 - Introduction and Mo...
Bt8901 object oriented systems-de (1)
AutomationML: A Model-Driven View
Bt8901 object oriented systems-de (1)
BABoK V2 Requirements Analysis (RA)
Process aware information systems
'Usage of business processes models: Theory and Practice by J.Bicevskis, G. K...
BPMN process views construction
Integrating Performance Modeling in Industrial Automation through AutomationM...
Introduction to UML
UML Practical.pptx System Analysis and Design
Tibco business events (be) online training institute
The secret life of rules in Software Engineering
CSC3070 - Lecture 19 (Data Flow Diagram - I).pptx
SE - Lecture 3 - Software Tools n Environment.pptx
Ad

Recently uploaded (20)

PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
medical staffing services at VALiNTRY
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Introduction to Artificial Intelligence
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
System and Network Administration Chapter 2
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
CHAPTER 2 - PM Management and IT Context
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
medical staffing services at VALiNTRY
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Reimagine Home Health with the Power of Agentic AI​
Wondershare Filmora 15 Crack With Activation Key [2025
How Creative Agencies Leverage Project Management Software.pdf
Introduction to Artificial Intelligence
PTS Company Brochure 2025 (1).pdf.......
Odoo Companies in India – Driving Business Transformation.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
System and Network Administration Chapter 2
Odoo POS Development Services by CandidRoot Solutions
Understanding Forklifts - TECH EHS Solution
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms I-SECS-1021-03
Design an Analysis of Algorithms II-SECS-1021-03
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
CHAPTER 2 - PM Management and IT Context
Ad

Linking Data and BPMN Processes to Achieve Executable Models

  • 1. CAiSE2017 Linking Data and BPMN Processes to Achieve Executable Models Giuseppe De Giacomo, Xavier Oriol, Montserrat Estañol, Ernest Teniente
  • 2. CAiSE2017 Content • Context • Our Approach • Overview • Starting Models • The Playlists Example • Achieving Executable Models • Related Work • Conclusions
  • 3. CAiSE2017  Hardware Retailer in BPMN Context: A Process Model Pros: Intuitive Straightforward Clear !However: How does the Clerk decide if it is a normal post or requires a special shipment? When is extra insurance necessary? By connecting with data, we would be able to define precisely what each of the tasks does
  • 4. CAiSE2017 Context • Two assets in organizations: UML Class Diagram BPMN Diagram
  • 5. CAiSE2017 Context: Linking Data and Processes • Data-centric approach to process modelling • Data • Details of the tasks => necessary to have data available • Order of execution of the tasks Achieve an executable process model based on the data-centric approach GOAL
  • 6. CAiSE2017 Starting models Standard notations • We have to link them together • Achieve executability Data Processes UML Class Diagram BPMN Diagram How?
  • 7. CAiSE2017 Playlists Example  Process to create playlists from tracks of musical albums UML Class Diagram
  • 8. CAiSE2017 Playlists Example BPMN diagram • We have to link them together • Achieve executability How?
  • 9. CAiSE2017 Playlists Example BPMN diagram Issues 1. Keeping track of the process variables 2. Knowing what each of the tasks does
  • 10. CAiSE2017 Playlists Example 1. Adding class <<artifact>> to the class diagram Solution:
  • 11. CAiSE2017 Playlists Example 2. Defining the tasks in OCL operation contracts Solution:
  • 12. CAiSE2017 Achieving Executable Models  Now we have data and process linked together…  How do we achieve executability?
  • 13. CAiSE2017 Achieving executable models  How do we achieve executability? – Translating them to other models  Translation: – UML class diagram => Database schema – BPMN diagram => Petri net – OCL Op. contracts => Logic rules that derive in SQL statements
  • 14. CAiSE2017 Achieving executable models  UML Class Diagram to a DB Schema
  • 15. CAiSE2017 Achieving executable models  BPMN diagram to a Petri net
  • 16. CAiSE2017 Achieving executable models  OCL Op. Contracts to Logic Derivation Rules Issues OCL is declarative instead of imperative
  • 17. CAiSE2017 Achieving executable models  OCL Op. Contracts to Logic Derivation Rules For instance, ins_P(x̅) :- opName(a), arg0_opName(x̅0), …, argN_opName(x̅n), pre(x̅pre), query(x̅q) del_P(x̅) :- opName(a), arg0_opName(x̅0), …, argN_opName(x̅n), pre(x̅pre), query(x̅q) result(x̅) :- opName(a), arg0_opName(x̅0), …, argN_opName(x̅n), pre(x̅pre), query(x̅q) ins_Playlist(Pl) :- buildplaylist(A), artifactPlname(A,Pl) ins_TrackIn(Tr, Pl) :- buildplaylist(A), artifactPlname(A,Pl), artifactTrack(A,Tr)
  • 18. CAiSE2017 Achieving executable models  OCL Op. Contracts to Logic Derivation Rules 1. Determine the effect (ins/del) of the contract by recognizing OCL operations 2. Translate the arguments of the OCL operation into logic queries ins_Playlist(Pl) :- buildplaylist(A), artifactPlname(A,Pl) ins_TrackIn(Tr, Pl) :- buildplaylist(A), artifactPlname(A,Pl), artifactTrack(A,Tr) Queralt, A., Teniente, E. Validation of UML Conceptual Schemas with Operations CAiSE 2008
  • 19. CAiSE2017 Achieving executable models  OCL Op. Contracts to Logic Derivation Rules ins_Playlist(Pl) :- buildplaylist(A), artifactPlname(A,Pl) ins_TrackIn(Tr, Pl) :- buildplaylist(A), artifactPlname(A,Pl), artifactTrack(A,Tr) INSERT INTO Playlist SELECT plName FROM Artifact INSERT INTO TrackIn SELECT track, plName FROM Artifact JOIN ArtifactTrack These rules can be further translated into SQL 1. Determine the effect (ins/del) of the contract by recognizing OCL operations 2. Translate the arguments of the OCL operation into logic queries
  • 20. CAiSE2017 Executing the framework  We have implemented a Java library such that: – Given (at compilation time) the models and a DB connection – Given (at runetime) an operation name and its arguments – The library updates the DB according to the specification of the operation invoked http://www.essi.upc.edu/~xoriol/opexec
  • 22. CAiSE2017 Executing the framework  What do we have now? – Execution of 1st order operations in the DB – Incrementally controlling the consistency of 1st order constraints – Controlling concurrent invocations of operations  What do we have to incorporate? – Current input models are the logic translations, we plan to move to real UML/OCL models – Checking the BPMN flow is outside the library
  • 23. CAiSE2017 Related Work  Business Process Validation – Approaches fully based on logics – Approaches based on formal Graphical Languages • Guard-Stage Milestones, Artifact union graphs, etc  Business Process Execution – BPEL, XML nets (Petri-nets based), YAWL All of them use formal languages, but our approach uses standard well-known languages: BPM+UML/OCL, at the cost of using/defining a formal interpretation for them. Our approach is aligned with the work of [1], but we aim here at execution rather than validation [1] Estañol, M., Sancho, M., Teniente, E.: Verification and validation of UML artifact-centric business process models. In: CAiSE 2015. Volume 9097 of LNCS., Springer (2015) 434–449
  • 24. CAiSE2017 Conclusions  We have proposed a framework for linking data and processes: – BPMN to define the process – UML to define data + a UML artifact class to define the process data. – OCL to define how BPMN activities modify UML data  The framework is formal enough to be executed: – BPMN -> Petri Nets – UML -> SQL tables – OCL -> Logic Rules -> SQL statements  We have implemented the framework as a Java library – It uses an Incremental Integrity Checking mechanism – http://www.essi.upc.edu/~xoriol/opexec/
  • 25. CAiSE2017 Thanks for your attention Full paper at: https://doi.org/10.1007/978-3-319-46523-4_11