Professional Documents
Culture Documents
Software modeling
for the working engineer
Majeure d informatique
INF 561
Daniel Krob
September 2006
03/12/2006 1
Table of contents
03/12/2006 2
Table of contents
03/12/2006 3
Business processes
Event
Task
Condition
03/12/2006 4
Table of contents
03/12/2006 5
BPMN Table of contents
BPMN
Definition
OMG Agenda
Semantics
Business Process Diagram Elements
Core Set of Diagram Elements
Complete Set of Diagram Elements
Business Process Diagram Samples
Normal Flow
B2B Modeling
Exception Handling
Compensation Handling
A Complex Process
Mapping to XML format
03/12/2006 6
Definition of BPMN
03/12/2006 7
OMG Hourglass
Strategy Consultants
Business Analysts BPMN Modeling
System Architects
BPEL
Execution
03/12/2006 8
BPMN Semantics
03/12/2006 9
Core Set of Diagram Elements
03/12/2006 10
Complete Set of Diagram Elements
Events
An Event is something
that happens during
the course of a business
process. These Events
affect the flow of the
Process and usually
have a trigger or a
result. They can start,
interrupt, or end the
flow.
03/12/2006 11
Complete Set of Diagram Elements
Activities (1)
03/12/2006 12
Complete Set of Diagram Elements
Activities (2)
A Sub-Process can
be in an expanded
form that shows the
process details of the
a lower-level set of
activities.
03/12/2006 13
Complete Set of Diagram Elements
Connections
Gateways are
modeling elements
that are used to
control how Sequence
Flows interact as they
converge and diverge
within a Process. If
the flow does not
need to be controlled,
then a Gateway is not
needed.
03/12/2006 15
Complete Set of Diagram Elements
Swimlanes
03/12/2006 16
Complete Set of Diagram Elements
Artifacts
03/12/2006 18
B2B Modeling
03/12/2006 19
Exception Handling
Intermediate Events
attached to the boundary of
an activity represent
triggers that can interrupt
the activity. All work
within the activity will be
stopped and flow will
proceed from the Event.
Timer, Exceptions,
Messages, etc. can be
Triggers.
03/12/2006 20
Compensation Handling and Transactions
A Transaction is an activity that has a
double border. Transactions are
supported by a transaction protocol
(e.g., WS-Transaction).
Normal Outgoing Sequence Flow
represents the path to follow a
successful completion.
A Cancel Intermediate Event
represents the path to follow a
cancelled completion.
An Exception Intermediate Event
represents the path to follow a
transaction hazard.
Activities used for compensate (with
marker) are outside normal flow and
are Associated normal activities.
03/12/2006 21
An example of Complex Process
03/12/2006 22
Mapping to BPEL4WS Sample
<process name="EMailVotingProcess">
<!-- The Process data is defined first-->
<sequence>
<receive partnerLink="Internal" portType="tns:processPort"
operation="receiveIssueList variable="processData"
createInstance="Yes"/>
<invoke name="ReviewIssueList" partnerLink="Internal"
portType="tns:internalPort" operation="sendIssueList"
inputVariable="processData outputVariable="processData"/>
<switch name="Anyissuesready">
<!-- name="Yes" -->
<case condition="bpws:getVariableProperty(ProcessData,NumIssues)>0">
<invoke name= DiscussionCycle partnerLink="Internal"
portType="tns:processPort" operation= callDiscussionCycle"
inputVariable="processData"/>
<! Other Activities not shown -->
<!--name="No" -->
</case>
<otherwise>
<empty/>
</otherwise>
</switch>
</sequence>
</process>
03/12/2006 23
Table of contents
03/12/2006 24
UML Sequence Diagram
A sequence diagram emphasizes the time ordering of messages. They have
two main chararacteristics :
First there is the object lifeline that is vertical dashed line in the diagram.
Second, there is the focus of control. The focus of control is a tall, thin rectangle
that shows the period of time during which an object is performing an action.
Sequence diagrams are making the link between Use Case & Class Diagrams
since they are describing the message exchange modes between different
classes and/or objects
Main components of a sequence diagram
Class roles
objects participating to the interactions
03/12/2006 27
Table of contents
03/12/2006 28
Temporal modeling in our example
03/12/2006 29