You are on page 1of 29

Master « Ingénierie des systèmes industriels complexes »

Software modeling
for the working engineer

Chapter 4 Process modeling

Majeure d informatique

INF 561
Daniel Krob
September 2006

03/12/2006 1
Table of contents

1 The main process models


Definition of a process
Business Process Modeling Notation
Temporised process modeling: sequence diagrams
2 Study of an example

03/12/2006 2
Table of contents

1 The main process models


Definition of a process
Business Process Modeling Notation
Temporised process modeling: sequence diagrams
2 Study of an example

03/12/2006 3
Business processes

Event
Task

Condition

The three ingredients of a business process

A business process is defined recursively as being:


either the empty process (i.e. doing nothing)
either an elementary task that is done only when a given event occurs,
or a condition that gives rises to two business processes depending
whether the condition is or is not satisfied
Business processes are intended to model real enterprise business procedures
(invoicing, delivery, design, production, logistics, etc.).

03/12/2006 4
Table of contents

1 The main process models


Definition of a process
Business Process Modeling Notation
Temporised process modeling: sequence diagrams
2 Study of an example

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

Business Process Modeling Notation (BPMN)


BPMN provides businesses with the capability of
defining and understanding their internal and external
business procedures through a Business Process
Diagram, which will give organizations the ability to
communicate these procedures in a standard manner.
BPMN also is supported with an internal model that will
enable the generation of executable BPEL4WS.
There is a question as to what to do with the mapping
to BPEL within the OMG work.

03/12/2006 7
OMG Hourglass

Audiences: Business Environment Purposes:

Strategy Consultants
Business Analysts BPMN Modeling

Process Designers Focus BP Scope

System Architects
BPEL
Execution

Software Engineers Technology Implementation

03/12/2006 8
BPMN Semantics

The BPMN 1.0 Specification did not formally define


the semantics of the Business Process Diagram (i.e.,
a metamodel)
However, BPMN is not just a notation
The semantics are defined in the text of the specification
A non-public draft of BPMN 1.1 metamodel exists as
input into the BPMN RFP
Moving forward, how are BPMN semantics aligned with
other OMG process work?

03/12/2006 9
Core Set of Diagram Elements

The core set of


modeling elements
enable the easy
development of
simple Business
Process Diagrams
that will look
familiar to most
Business Analysts
(a flowchart
diagram)

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)

An activity is work that is


performed within a
business process. An
activity can be atomic or
non-atomic (compound).
The types of activities
that are a part of a
Process Model are:
Process, Sub-Process,
and Task.

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

A Sequence Flow is used to


show the order that activities
will be performed in a
Process.
A Message Flow is used to
show the flow of messages
between two entities that are
prepared to send and receive
them.
An Association is used to
associate information and
artifacts with flow objects.
03/12/2006 14
Complete Set of Diagram Elements
Gateways

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

A Pool is a swimlane and a


graphical container for
partitioning a set of activities
from other Pools, usually in
the context of B2B
situations.
A Lane is a sub-partition
within a Pool and will extend
the entire length of the Pool,
either vertically or
horizontally.

03/12/2006 16
Complete Set of Diagram Elements
Artifacts

Data Objects are not flow objects


(i.e., connected through Sequence
Flow), but they do provide
information about how documents,
data, and other objects are used and
updated within a Process.
Text Annotations are a mechanism
for a modeler to provide additional
information for the reader of a
BPMN diagram.
Groups provide a mechanism to
visually organize activities
03/12/2006 17
Normal Flow

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

1 The main process models


Definition of a process
Business Process Modeling Notation
Temporised process modeling: sequence diagrams
2 Study of an example

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

:Class Object Object:Class


Time lines
Messages activating operations within the receiver object
Represents communication between objects
03/12/2006 25
Example of sequence diagram (1)
Use Case
Objets
Distributeur Boisson

Description : Distributeur : Boisson : :


Gestion Monnaie Ecran
Usager choisit boisson chooseDrink
(boisson)
Boisson Disponible getAvailability
Si Boisson Disponible
Prix getPrice
Afficher Prix displayMoney (price)
Do Payer
insertMoney (money)
End Payer Messages
Rendre Monnaie returnMoney
Notifier Distributeur giveDrink
donner
boisson
setQuantity
(getQuantity -1)
End Boisson Disponible
Si boisson non disponible
Afficher Non Disponible displayNotAvailable
Temps
End boisson non disponible
Distributeur Boisson Gestion Monnaie Ecran
03/12/2006 26
Example of sequence diagram (2)

03/12/2006 27
Table of contents

1 The main process models


Definition of a process
Business Process Modeling Notation
Temporised process modeling: sequence diagrams
2 Study of an example

03/12/2006 28
Temporal modeling in our example

Use sequence diagrams to model the temporal behaviour


between the different :
actors
technical components
parts (back office, front office)
of our organisation visualization software
Use BPMN techniques to model the behavior of the
consultants during the creation of an organizational map
and sequence diagrams to describe the interactions of the
consultants and the software components during the same
period of time

03/12/2006 29

You might also like