• Introduction & Motivation
• Process (Control-Flow) Modeling
• Petri Nets (workﬂow net), Workﬂow patterns, BPEL
• Process model properties
• Data Modeling
• UML, Entity-Relationship model
• Data model properties
• Assignment (TP)
What is business
Deﬁnition in the Deﬁnition in IT
• using business terms in • most time using IT terms, e.g.
natural languages system, user ...
• conventional business rules • precise in the context
• respect law • exchange ideas between end-
user and developers
• not very precis, sometimes • executable somewhere
ambiguous, need • implement real-world BP
Traditionally, BP has nothing to do with information technology
“A business process is a sequence of activities followed by
individuals in a business to achieve some business goal. Often
these are manual activities executed by employees who play
certain roles in the business in addition to others who are
external to the business: customers, business partners, etc.”
From “what is a business process”.
A business process description
1. A customer ﬁlls the purchase order form and send it to the company.
2. (Employee of) The company conﬁrm the reception of order.
3. (Employee of) The company check the stock and prepare the
4. (Employee of) The company deliver the products with the invoice.
5. The customer makes the payment.
6. (Employee of) The company collects the payment.
Depending on the underlying business protocol, the payment may
be effected before (deliver against payment) or after (by credit)
the delivery of product.
Example of a “delivery and payment terms” which describe a business
• Healthcare, patient treatments
• Biological experiment data processing
• Product manufacture process (ERP)
• E-Trading, E-Government
• Financial supply chain (buyer - seller - bank vs.
product - cash - bill - credit)
BP in IT domain
Do you remember how to write Use Cases?
• Real-world process vs. BP deﬁnition
• The business process should implement the real-world needs
• BP deﬁnition describes only a part of real-world process
(where users interact with the computer system)
Objective of IT in BP Management
To make sure (how) the right persons (who) do the right
things (what) at the right moments (when)
BP Modeling Approaches
• Metamodel-based. Only metamodel is speciﬁed.
• Metamodel + state-based semantics. Using Petri Net
variances, e.g. Workﬂow Net.
• Metamodel + service-based semantics. e.g. Web service
composition languages, BPEL.
• Hybrid approach. Metamodel with both state-based and
• Rules-Driven (less popular)
Business process has similar principle with parallel, distributed programming, and
the computation tasks are realized by the collaboration of human and machines.
Process Metamodel (1)
• Process, activity,
• no formal semantics
• Integrated in Zope
• Python based
• Good interoperability
with Zope products
Process Metamodel (2)
• Advantages of using Petri Nets for workﬂow
• Formal semantics
• Inductive graphical notation
• Explicit state representation
• Well developed veriﬁcation techniques and tools
• To compute the price, the
shipping price is needed
receive • To schedule the
order production, the shipping
date is needed
• To send the invoice to
client, the three tasks
compute organize production should be ﬁnished
price shipping scheduling • Tasks are accomplished by
different companies or
• Used data:
send • Order
• Shipping Info
invoice • Schedule
Remarks of modeling
• The PN elements can be interpreted differently
while modeling business process
• Transitions: Event, Action, Service interaction
• Places: Information holder, List, Database, etc.
• Tokens: Object, information, physical entity, reference,
• However, similar to logical formula, the properties of
PN model are valid for all the interpretations
(independent of domain)
WF-net (workﬂow net) deﬁned by W.M.P. van der Aalst
A Petri net PN=<P,T,F> is a WF-net if and only if:
• there is one source place i∈P that the pre-set(i) = ϕ
• there is one sink place o∈P that the post-set(i) = ϕ
• every node x∈P∪T is on a path from i to o
• A WF-net has one input place (i) and one output place (o) because any
case handled by the procedure represented by the WF-net is created
when it enters the WFMS and is deleted once it is completely handled
by the system, i.e., the WF-net speciﬁes the life-cycle of a case.
• The third requirement is to avoid dangling tasks and/or conditions
which do not contribute to the processing of cases.
• Proposed by Van Der Aalst. Categorized into several
• Control: ﬂow of cases (instances)
• Data: data and information processing
• Operation: interactions with human and external systems
• Resources: modeling human and machine workforce
• About 20 patterns for the control-ﬂow perspective.
Control Flow Patterns
• Basic constructs
• AND, OR, JOIN, SPLIT
• Synchronization and Merge
• Cycle and termination
for a complete explanation with
ﬂash animations, see:
BPEL brief introduction
• Business Process Execution Language: combined XLANG
from MS and BPFL from IBM. Actual called “WS-BPEL”
• A web service composition language. Variables are used to
pass values between web services
• The states of instances are distributed in differences
• The engine of BPEL invokes web service and receives
service calls according to the BPEL deﬁnition
BPEL speciﬁcations from IBM: link
• Totally based on Web service speciﬁcations
• BPEL -> Web service -> XML schema -> XML
• Control ﬂow: <ﬂow>, <sequence>, <pick>, <while>
• Activity: <invoke>, <receive>, <wait> …
• Links: <link>, <source>, <target>
• Participant: <partnerLink>, <role>
• Data: <variable>, <assign>, <messages>
• <ﬂow>: AND split; <sequence>: sequence; <pick>: OR split;
• <invoke>: call web service; <receive>: blocking & waiting
• <wait>: wait a condition;
• <link>: dependence link;
• <partnerLink>: web service of partner;
• <messages>: schema deﬁnition of exchanged message.
For more information for the relationship between workﬂow patterns and
BPEL, see: “Pattern Based Analysis of BPEL4WS”, by Petia Wohed et al.
•<partnerLink name=quot;purchasingquot; … />
• <partnerLink name=quot;invoicingquot; …/> receive
•<partnerLink name=quot;shippingquot; …/> order
•<partnerLink name=quot;schedulingquot; …/>
•<sequence> compute organize production
•<receive…”Order”/> price shipping scheduling
•<sequence> …”shippping” </sequence>
•<sequence>…”schedule” </sequence> send invoice
•<reply…”Invoice”/> This process has 3 parallel activities.
•</sequence> It receives an Order and reply an Invoice
to the caller (a client)
• Deadlock free, Soundness
• No cyclic-dependencies
• Each input case should have a ﬁnal output somewhere
• No hanging tasks. E.g. when a case is ﬁnished, all
related tokens should be removed
• Efﬁciency & Performance (related to BP design): no
unnecessary, repetitive work for users, e.g. ﬁll the same
information (form) for several times.
Data modeling includes data deﬁnition and
manipulation. Data model is the basis of
• Entity-Relationship Model
• Relational Model
• Service Data Object
• Originally proposed by Peter Chen in 1976. Paper “The Entity-
Relationship Model--Toward a Uniﬁed View of Data”.
• The most-used conceptional modeling tool. Many variances exist.
• Conference site: http://www.conceptualmodeling.org/
• Based on a very simple graphical notation (ER Diagram)
artist performs song name
Entity Relation Entity Attribute
Entity & Attribute
• Entity: a concept about which information is collected
• Attribute: descriptive properties of an entity
• Attribute Type: the domain of an attribute
• Entity Type: collection of entities that all have the same attributes
• Entity Set: collection of entities of a particular entity type
• Key attributes of an Entity Type: the attributes used to uniquely
determine each entity in an entity set. The attributes set is called a
• Candidate key: the minimum superkey of an entity type. The primary
key of the entity type is selected among all possible candidate keys.
• (An instance of) Relationship: association among two or
• Relationship Type: the collection of similar relationships
• Degree of a relationship: the number of entity types that
participate in the relationship type.
• Role of an entity in a relationship
• Relationship attributes: properties of a relationship
• Relationship does not have key attributes, it’s identiﬁed by its
• ER variances often differ from the following points:
• The degree of the relationship: unary, binary, or
• The type cardinality constraints and participation
• The direction of relationship
• Whether a relation can have attributes or not
Degree of relationship
Binary Manager mananges Employee
Ternary Book ownership Store
A relationship with degree >2 can be
decomposed into several binary
• Cardinality constraints: Minimum, Maximum
cardinality e.g. (M..N - 1..N)
• Participation constraints: (1..N - 1..N)
Mandatory e.g. (0..N - 0..N),
• The two constraints sets may have conﬂicts or
• In case of conﬂicts, the ER model is not structurally valid.
Graphical notations optional
1 M There is maximum one manager to manage
Manager mananges Employee the employees.
It is possible that there are no employees.
There must have a manager to
Manager mananges Employee manage the employees.
It is possible that there are no
1 1 1
• Everybody is an employee, but there is an employee who
• The same time, he manages himself.
• on the right, 1-1 with optional-mandatory constraints is not
Manager mananges Employee
what is the possible relationship
between the manager and the
Department member of
• An acyclic path containing all binary
relationships is always structurally valid
• In an cyclic path, there are risks that it is not
Enhanced ER model &
• They can be considered as ER models with extended
semantics and constraints
• EER: Specialization/Generalization, Aggregation
• UML: Inheritance(Generalization), Composition,
Aggregation. For OO design.
• subtypes and supertypes of entities
• cardinality constraints between supertype:subtype is 1:0
• Supertype: Employee
• Subtype: Hourly, Salaried
Date • Subtypes inherit all the attributes of
Name the supertype
• The primary key of the supertype and
subtypes are identical
• An occurrence of the Employee needs
not have an occurrence of Salaried
• An occurrence of the Salaried or
Hourly MUST HAVE an occurrence of
Wage Salary the supertype entity Employee.
We see that:
Hired • An occurrence of “Hourly” or “Salaried”
Name 1 entity must have an occurrence of
IS-A • “Hourly” and “Salaried” entity types inherit
the attributes from entity type “Employee”
• Does an occurrence of “Employee” entity
must have an occurrence of “Hourly” or
Wage Salary “Salaried” entity?
• Does an occurrence of “Employee” entity can
have both occurrences of “Hourly” and
• Completeness Constraints
• Total/Partial Specialization. An occurrence of a supertype entity must/may
have a corresponding subtype occurrence (double line)
• Disjointness Constraints
• Overlap rule(total/partial). An occurrence of a supertype must/may have
more than one subtype occurrence (mark “O”)
• Disjoint rule(total/partial). An occurrence of a supertype must/may have
exactly one subtype occurrence (mark “D”)
• Multiple Inheritance
1 1 D
• These constraints are used to valid business (or
• Entity Integrity (Uniqueness Integrity): each instance of an
entity type must have a unique identiﬁer that is not null
• Referential Integrity: relationship has references to the
participant entities, e.g. existence dependency
• Domain Constraint: e.g. range, format, null or not null of
• Operational Constraint: constraints (e.g. business rules )
should be respected during the data manipulation
UML Class Diagram
• Aggregation: has-a relationship, between object and
component parts. Filled diamond side means the whole side.
• Subclasses (specialization/generalization)
• blank triangle for disjoint, ﬁlled triangle for overlap
• Weak entity: qualiﬁed association
• Relationship types are associations
• Relationship instances are links, using (min..max) for
• Attributes and domains are merged in the box
ER vs. UML
Name Department Name
1 Abstract class has name in italics
of Employee Department
M ID Name
Hourly Salaried Name
O Wage Salary DataHired
Which UML model the ER model corresponds?
Data Model Properties
• Structurally valid: there are no contradictions and
conﬂicts in the model itself
• Semantically valid: the designed model corresponds the
domain problem, e.g. a student must ﬁnish at least 20
credits per year
• Integrity constraints: rules & constraints should be
respected during the evolution of data instances
• Functional dependency (in relational model): why a
relational schema is better than another? Optimization
Reference: ER &
• Modeling the business processes of fundable.com
and zopa.com (social fundraising)
• http://fundable.com/ and http://zopa.com
• Data model
• Control-ﬂow model
• Connection between Data and Control models
• An individual report in 2 weeks