Date post: | 04-Jun-2018 |
Category: |
Documents |
Upload: | mohsindalvi87 |
View: | 216 times |
Download: | 0 times |
of 53
8/13/2019 Esm2005 Talk
1/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Yet Another Smart Process EditoR
Kees van Hee Reinier Post Lou Somers
Architecture of Information SystemsDepartment of Mathematics and Computer Science
TU Eindhoven
ESM 2005, Porto
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://www.tue.nl/http://www.tue.nl/http://find/8/13/2019 Esm2005 Talk
2/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Outline of this talk
1 The need for Yasper
Petri nets for process modelling
Why create Yasper?
2 A closer look at YasperYaspers modelling features
Simulation in Yasper
Implementation notes
3 IntegrationYasper and other tools
4 Conclusion
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/http://goback/8/13/2019 Esm2005 Talk
3/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Outline of this talk
1 The need for Yasper
Petri nets for process modelling
Why create Yasper?
2 A closer look at YasperYaspers modelling features
Simulation in Yasper
Implementation notes
3 IntegrationYasper and other tools
4 Conclusion
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/8/13/2019 Esm2005 Talk
4/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Outline of this talk
1 The need for Yasper
Petri nets for process modelling
Why create Yasper?
2 A closer look at YasperYaspers modelling features
Simulation in Yasper
Implementation notes
3 IntegrationYasper and other tools
4 Conclusion
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/8/13/2019 Esm2005 Talk
5/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Outline of this talk
1 The need for Yasper
Petri nets for process modelling
Why create Yasper?
2 A closer look at YasperYaspers modelling features
Simulation in Yasper
Implementation notes
3 IntegrationYasper and other tools
4 Conclusion
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
Th d f Y
http://find/8/13/2019 Esm2005 Talk
6/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Petri nets for process modelling
Why create Yasper?
Outline of this talk
1 The need for Yasper
Petri nets for process modelling
Why create Yasper?
2 A closer look at YasperYaspers modelling features
Simulation in Yasper
Implementation notes
3 IntegrationYasper and other tools
4 Conclusion
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
Th d f Y
http://find/8/13/2019 Esm2005 Talk
7/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Petri nets for process modelling
Why create Yasper?
Systems modelling
Our main interests:
business process modelling
software systems modelling
An adequate modelling technique is
clear
powerfulexact
well-supported
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for Yasper
http://find/8/13/2019 Esm2005 Talk
8/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Petri nets for process modelling
Why create Yasper?
Process modelling
Process modelling must express concurrency / cooperation.
Petri netsare adequate,
but need better support.
Most processes areworkflow nets:
with fixed start and end points.
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for Yasper
http://find/8/13/2019 Esm2005 Talk
9/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Petri nets for process modelling
Why create Yasper?
YasperWhy Yet Another Smart Process EditoR?
Many Petri net tools exist,
mostly in the academic world.
Our past contribution: theExSpecTcoloured Petri net tool.
Reasons to create another tool,Yasper:
make workflows easy to simulate
make Petri nets more palatable (for industry)
Microsoft integration via .NET (for industry)
integrate with other tools
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for Yasper
http://www.exspect.com/http://www.exspect.com/http://find/8/13/2019 Esm2005 Talk
10/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Petri nets for process modelling
Why create Yasper?
Use cases for Yasper
project: Deloitte Industry Prints:
"best/standard practices" business process modelsused byDeloitteconsultants
without a good modelling technique many ambiguities and plain errors
project: OGO 2.2:
business software modelling/prototyping project
part of computer science curriculumpreviously done withExSpecT
many other uses
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for Yasper
http://www.deloitte.com/http://www.exspect.com/http://www.exspect.com/http://www.deloitte.com/http://find/8/13/2019 Esm2005 Talk
11/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Yaspers modelling features
Simulation in Yasper
Implementation notes
Outline of this talk
1 The need for Yasper
Petri nets for process modelling
Why create Yasper?
2 A closer look at YasperYaspers modelling features
Simulation in Yasper
Implementation notes
3 IntegrationYasper and other tools
4 Conclusion
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperY d lli f t
http://find/8/13/2019 Esm2005 Talk
12/53
The need for Yasper
A closer look at Yasper
Integration
Conclusion
Yaspers modelling features
Simulation in Yasper
Implementation notes
Modelling features: overviewbasic Petri net elements
element notation description
place condition or resource
transition event or action
arc process flow
token (object in a) condition
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperY d lli f t
http://find/8/13/2019 Esm2005 Talk
13/53
p
A closer look at Yasper
Integration
Conclusion
Yaspers modelling features
Simulation in Yasper
Implementation notes
Modelling features: overviewgeneral purpose extensions
element notation description
subnet spread across multiple pages
xor choice (split / join)
role (-) executer / resource
store data involved
inhibitor negative condition (no tokens)
reset clear condition(cleartokens)
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperYaspers modelling features
http://find/8/13/2019 Esm2005 Talk
14/53
p
A closer look at Yasper
Integration
Conclusion
Yasper s modelling features
Simulation in Yasper
Implementation notes
Modelling features: overviewextensions for automatic simulation
element notation description
time processing time
cost (-) processing cost
case preserves workflow case
emitor generates workflow case
collector terminates workflow case
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperYaspers modelling features
http://find/8/13/2019 Esm2005 Talk
15/53
A closer look at Yasper
Integration
Conclusion
Yasper s modelling features
Simulation in Yasper
Implementation notes
A basic Petri netplaces, transitions, arcs, tokens
Getting fuel at a petrol station
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperYaspers modelling features
http://find/8/13/2019 Esm2005 Talk
16/53
A closer look at Yasper
Integration
Conclusion
Yasper s modelling features
Simulation in Yasper
Implementation notes
The net extended with Yasper featuresexhibiting most of them
Getting fuel, with more accuracy
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for Yasper
A l l k YYaspers modelling features
http://find/8/13/2019 Esm2005 Talk
17/53
A closer look at Yasper
Integration
Conclusion
Yasper s modelling features
Simulation in Yasper
Implementation notes
Extension: subnetsspreading content over multiple pages
A subnet element
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for Yasper
A l l k t YYaspers modelling features
http://find/8/13/2019 Esm2005 Talk
18/53
A closer look at Yasper
Integration
Conclusion
p g
Simulation in Yasper
Implementation notes
Extension: subnetsspreading content over multiple pages
The interface: references to places outside
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for Yasper
A closer look at YasperYaspers modelling features
http://find/8/13/2019 Esm2005 Talk
19/53
A closer look at Yasper
Integration
Conclusion
p g
Simulation in Yasper
Implementation notes
Extension: choiceas known from flowcharts, UML activity diagrams
Choice elements indicate alternatives
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for Yasper
A closer look at YasperYaspers modelling features
http://find/8/13/2019 Esm2005 Talk
20/53
A closer look at Yasper
Integration
Conclusion
Simulation in Yasper
Implementation notes
Extension: choiceas known from flowcharts, UML activity diagrams
A basic Petri net equivalent
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Yaspers modelling features
http://find/8/13/2019 Esm2005 Talk
21/53
A closer look at Yasper
Integration
Conclusion
Simulation in Yasper
Implementation notes
Extension: storesindicate (not simulate) data manipulation
Stores: data involved in transitions
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Yaspers modelling features
http://find/8/13/2019 Esm2005 Talk
22/53
A closer look at Yasper
Integration
Conclusion
Simulation in Yasper
Implementation notes
Extension: rolesexecuters / resources
Transitions can be executed by roles
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Yaspers modelling features
Si l i i Y
http://find/8/13/2019 Esm2005 Talk
23/53
A closer look at Yasper
Integration
Conclusion
Simulation in Yasper
Implementation notes
Extension: transition time and costfixed or stochastic
Time and cost assignments (for automatic simulation)
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Yaspers modelling features
Si l ti i Y
http://find/8/13/2019 Esm2005 Talk
24/53
p
Integration
Conclusion
Simulation in Yasper
Implementation notes
Extension: workflow casescase sensitive places, emitors, collectors
Emitors and collectors mark start and end of workflow
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/8/13/2019 Esm2005 Talk
25/53
The need for YasperA closer look at Yasper
Yaspers modelling features
Simulation in Yasper
8/13/2019 Esm2005 Talk
26/53
Integration
Conclusion
Simulation in Yasper
Implementation notes
Extension: workflow casescase sensitive places, emitors, collectors
Transitions match cases on input places
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Yaspers modelling features
Simulation in Yasper
http://find/8/13/2019 Esm2005 Talk
27/53
Integration
Conclusion
Simulation in Yasper
Implementation notes
Extension: special arc types
An example with more complex flow logic
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
I i
Yaspers modelling features
Simulation in Yasper
http://find/8/13/2019 Esm2005 Talk
28/53
Integration
Conclusion
Simulation in Yasper
Implementation notes
Manual simulation in Yasper
Playing the token game in the diagram
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
I t ti
Yaspers modelling features
Simulation in Yasper
http://find/8/13/2019 Esm2005 Talk
29/53
Integration
Conclusion
S u at o aspe
Implementation notes
Automatic simulation in Yasper
Starting an automatic run
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Yaspers modelling features
Simulation in Yasper
http://find/8/13/2019 Esm2005 Talk
30/53
Integration
Conclusion
p
Implementation notes
Automatic simulation in Yasper
The report
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Yaspers modelling features
Simulation in Yasper
http://find/8/13/2019 Esm2005 Talk
31/53
Integration
ConclusionImplementation notes
Yasper makes simulation work
In Yasper, simulations arebased on exact execution semantics
very easy to set up and run
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/8/13/2019 Esm2005 Talk
32/53
The need for YasperA closer look at Yasper
Integration
Yaspers modelling features
Simulation in Yasper
8/13/2019 Esm2005 Talk
33/53
Integration
ConclusionImplementation notes
Yasper makes simulation work
In Yasper, simulations arebased on exact execution semantics
very easy to set up and run
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Yaspers modelling features
Simulation in Yasper
I l i
http://find/8/13/2019 Esm2005 Talk
34/53
Integration
ConclusionImplementation notes
Automatic simulation demonstrates errorsand with alarming frequency, too
An error repaired
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Yaspers modelling features
Simulation in Yasper
I l t ti t
http://find/8/13/2019 Esm2005 Talk
35/53
g
ConclusionImplementation notes
Simulation makes Yasper work
In Yasper, simulations
immediately pinpoint most modelling errors
pinpoint deadlocks / bottlenecks in the process itself
can estimate overall throughput and efficiency
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Yaspers modelling features
Simulation in Yasper
Implementation notes
http://find/8/13/2019 Esm2005 Talk
36/53
g
ConclusionImplementation notes
Simulation makes Yasper work
In Yasper, simulations
immediately pinpoint most modelling errors
pinpoint deadlocks / bottlenecks in the process itself
can estimate overall throughput and efficiency
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Yaspers modelling features
Simulation in Yasper
Implementation notes
http://find/8/13/2019 Esm2005 Talk
37/53
ConclusionImplementation notes
Simulation makes Yasper work
In Yasper, simulations
immediately pinpoint most modelling errors
pinpoint deadlocks / bottlenecks in the process itself
can estimate overall throughput and efficiency
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Yaspers modelling features
Simulation in Yasper
Implementation notes
http://find/8/13/2019 Esm2005 Talk
38/53
ConclusionImplementation notes
Simulation makes Yasper work
In Yasper, simulations
immediately pinpoint most modelling errors
pinpoint deadlocks / bottlenecks in the process itself
can estimate overall throughput and efficiency
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/8/13/2019 Esm2005 Talk
39/53
The need for YasperA closer look at Yasper
Integration
C l i
Yaspers modelling features
Simulation in Yasper
Implementation notes
8/13/2019 Esm2005 Talk
40/53
Conclusionp e e tat o otes
ArchitectureYaspers library dependencies
PNML
PNMLUtilities
Drawing
PNMLIO
Yasper
Stresser
YasperLite
Pnml2Any
YasperWorkflowExecuter
System
System.Data
System.Drawing
System.XML
System.Windows.Forms
PNMLImaging
PNMLSimulationReporter
{EPNML 1.1: XSD / RNG} {PNML 1.3.2: RNG}
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
Yaspers modelling features
Simulation in Yasper
Implementation notes
http://find/8/13/2019 Esm2005 Talk
41/53
Conclusionp
Availability
Yasper is partly free:
Yasper program completely free to use
(but dont sue us when it breaks)
code not free
(but talk to us when you want it)
Get Yasper fromwww.yasper.org
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
Yasper and other tools
http://www.yasper.org/http://www.yasper.org/http://find/8/13/2019 Esm2005 Talk
42/53
Conclusion
Outline of this talk
1 The need for Yasper
Petri nets for process modelling
Why create Yasper?
2 A closer look at YasperYaspers modelling features
Simulation in Yasper
Implementation notes
3 IntegrationYasper and other tools
4 Conclusion
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
Yasper and other tools
http://find/http://goback/8/13/2019 Esm2005 Talk
43/53
Conclusion
Development strategy: integration
Yaspers design philosophy:
do not compete with other toolstrying to duplicate their features
work with them instead
by translation / calling
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/http://goback/8/13/2019 Esm2005 Talk
44/53
The need for YasperA closer look at Yasper
Integration
Conclusion
Yasper and other tools
8/13/2019 Esm2005 Talk
45/53
Conclusion
Areas of integration
the use of data ("color"):
interface Yasper with a "data manager"
Petri net model checking / verification:
interface Yasper with analysis tools
non-Petri net modelling techniques:
supply translations from/to Yasper
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
Yasper and other tools
http://find/http://goback/8/13/2019 Esm2005 Talk
46/53
Areas of integration
the use of data ("color"):
interface Yasper with a "data manager"
Petri net model checking / verification:
interface Yasper with analysis tools
non-Petri net modelling techniques:
supply translations from/to Yasper
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
Yasper and other tools
http://find/http://goback/8/13/2019 Esm2005 Talk
47/53
Methods of integration
reuse of code libraries:
see architecture diagram above
common file formats
PNML, extended PNML
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
Yasper and other tools
http://find/http://goback/8/13/2019 Esm2005 Talk
48/53
Examples of integration
analysis tools, e.g. Woflan, INA
workflow engine (Yasper/InfoPath)simulation-only (with BPMN modeller)
process model translations (e.g. UML activity diagrams,
ProVision, BPMN, BPEL, ARIS, CRL)
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
http://find/8/13/2019 Esm2005 Talk
49/53
Outline of this talk
1 The need for Yasper
Petri nets for process modelling
Why create Yasper?
2
A closer look at YasperYaspers modelling features
Simulation in Yasper
Implementation notes
3
IntegrationYasper and other tools
4 Conclusion
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
http://find/8/13/2019 Esm2005 Talk
50/53
Findings
Yasper simplifies Petri-net based modelling and simulation
Yaspers simulation is of great benefit in modelling
integrating tools is hard, but pays off
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
The need for YasperA closer look at Yasper
Integration
Conclusion
http://find/8/13/2019 Esm2005 Talk
51/53
Ongoing/future work on Yasper itself
Provide more convenient editing:
larger nets
transformations
consistency checks
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/8/13/2019 Esm2005 Talk
52/53
The need for YasperA closer look at Yasper
Integration
Conclusion
8/13/2019 Esm2005 Talk
53/53
Thank you
Maarten Leurs
lots of Yasper programmingapplying Yasper at Deloitte
Andries van Dijk
support at DeloitteOlivia Oanea, Ivo Raedts, Jan Martijn van der Werf, a.o.
using Yasper, making suggestions, bug reportswriting related softwarehelp with this presentation
Till Tantau
the LATEX beamer package
this audience
any feedback you have
Kees van Hee, Reinier Post, Lou Somers Yet Another Smart Process EditoR
http://find/