Académique Documents
Professionnel Documents
Culture Documents
GROUP MEMBERS
1.2 Scope
Levi is a native BPMN 2.0 execution engine, which can be used to execute business process
models that conform to the BPMN 2.0 specification. And most importantly, it will serve as a
proof of concept for exploring the possibilities of using Apache ODE (Orchestration Director
Engine) and JACOB (Java Concurrent Object Framework) to execute BPMN 2.0 processes. This
engine will be capable of deploying, persisting, navigating, and executing business processes
claiming BPMN 2.0 execution conformance. The major objective of BPMN 2.0 standard is to
provide a high level overview of business processes and their execution to the business people
who do not have much technical expertise. We allow businesses to have automated, efficient
process flows and eventually increase their productivity by facilitating the execution of these
modeled business processes in Levi.
A non-executable process on the other hand is a private process that has been modeled for the
purpose of documenting process behavior at a modeler-defined level of detail. Thus,
information needed for execution, such as formal condition expressions are typically not
included in a non-executable process.
If a swim lanes-like notation is used (e.g., a collaboration, see below) then a private business
process will be contained within a single pool. The process flow is therefore contained within
the pool and cannot cross the boundaries of the pool. The flow of messages can cross the pool
boundary to show the interactions that exist between separate private business processes.
A public process represents the interactions between a private business process and another
process or participant (see Figure 2.2). Only those activities that are used to communicate to the
other participant(s) are included in the public process. All other “internal” activities of the
private business process are not shown in the public process. Thus, the public process shows to
the outside world the message flows and the order of those message flows that are needed to
interact with that process. Public processes can be modeled separately or within a collaboration
to show the flow of messages between the public process activities and other participants. Note
that the public type of process was named “abstract” in BPMN 1.2.
A Collaboration depicts the interactions between two or more business entities. A collaboration
usually contains two (2) or more pools, representing the participants in the collaboration. The
message exchange between the participants is shown by a message flow that connects two (2)
pools (or the objects within the pools). The messages associated with the message flows can
also be shown. The collaboration can be shown as two or more public processes communicating
with each other (see Figure 2.3). With a public process, the activities for the collaboration
participants can be considered the “touch-points” between the participants. The corresponding
internal (executable) processes are likely to have much more activity and detail than what is
shown in the public processes. Or a pool may be empty; “black box.” choreographies may be
shown “in between” the pools as they bisect the message flows between the pools. All
combinations of pools, processes, and choreography are allowed in a collaboration.
2.6.4 Choreographies
The choreography looks similar to a private business process since it consists of a network of
activities, events, and gateways (see Figure 2.4). However, a choreography is different in that
the activities are interactions that represent a set (1 or more) of message exchanges, which
involves two (2) or more participants. In addition, unlike a normal process, there is no central
controller, responsible entity or observer of the process.
2.6.5 Conversations
Since a BPMN diagram may depict the processes of different participants, each participant could
view the diagram differently. That is, the participants have different points of view regarding
how the processes will apply to them. Some of the activities will be internal to the participant
(meaning performed by or under control of the participant) and other activities will be external
to the participant. Each participant will have a different perspective as to which are internal and
external. At run time, the difference between internal and external activities is important in how
a participant can view the status of the activities or trouble-shoot any problems. However, the
diagram itself remains the same.
Figure 2.3 displays a business process that has two points of view. One point of view is of a
Patient, the other is of the Doctor’s office. The diagram shows the activities of both participants
in the process, but when the process is actually being performed, each participant will only have
control over their own activities. Although the diagram point of view is important for a viewer
of the diagram to understand how the behavior of the process will relate to that viewer, BPMN
will not currently specify any graphical mechanisms to highlight the point of view. It is open to
the modeler or modeling tool vendor to provide any visual cues to emphasize this characteristic
of a diagram.
In the scenario, the business department and the human resources department are involved in
the process of “Post a Job”. The process starts when an employee is required. The business
Levi | System Requirements Specification 8
department reports this job opening. Then the human resources department writes a job
posting. The business department reviews this job posting.
An important fact about this process model(and similar processes in general) is that we used
only one pool and different lanes for the departments involved in this process, which
automatically means that we blank out the communication between those departments: We just
assume that they are communicating with each other somehow. If we had Levi driving this
process, it would assign user tasks and therefore be responsible for the communication
between those two departments. If we do not use Levi, but want to model the communication
between the departments involved explicitly, we would have to use a collaboration diagram for
that purpose.
Figure 3.2- the Purchaser process and its collaborations with other service provider processes
The responses of the three service providers merge at a single point in the process, called a
"Complex Gateway" to model the requirement that when 66% responses have arrived, an
assessment of the tender can proceed. The assessment occurs after the Complex Gateway. If the
assessment reports that the reserve amount indicated by the customer cannot be met, a new
Figure 3.4- This rather simple diagram is all we have to show to the account manager
That system can actually receive and parse emails sent by the account manager and opens a
ticket for it. If the 1st level support agent decides that this is a 2nd level issue, he does so by
documenting his decision and completing the assigned task “edit 1 st level ticket”. The trouble
ticket system then routes the ticket to the 2nd level support agent. When that agent has finished,
he may be declared the issue to be fixed in the next software release. Then the trouble ticket
system makes a service call on the product backlog system, a new feature we have introduced
with our process engine: The entry does not have to be inserted manually any more. In the end,
the trouble ticket system will send an email to the account manager, containing the results of
the incident management, and close the ticket. See Figure 3.4. The account manager can then
explain the solution to the customer based on the information in the ticket.
As mentioned previously, we can hand over the modeled process engine pool (i.e. "Trouble
Ticket System") to Levi for execution, while we can show the other pools separately to our
process participants, the support agents or the account manager, and discuss their involvement
in the collaboration based on those simplified views on the same, consistent collaboration
model. This gives us the opportunity to talk with both Business people and IT people about the
same process model, without overburdening business people with too complex diagrams or IT
people with too inaccurate process models.
3.2.2 Activities
3.2.3 Gateways
Operational Semantics of Parallel Gateway is specified in Table 13.1, of the section 13.3.1 of the
BPMN 2.0 specification.
Operational Semantics of Exclusive Gateway is specified in Table 13.2, of the section 13.3.2 of
the BPMN 2.0 specification.
Operational Semantics of Inclusive Gateway is specified in Table 13.3, of the section 13.3.3 of the
BPMN 2.0 specification.
When used at the Process start as a Parallel Event Gateway, only message-based triggers are
allowed. The Message triggers that are part of the Gateway configuration MUST be part of a
Conversation with the same correlation information. After the first trigger instantiates the
Process, the remaining Message triggers will be a part of the Process instance that is already
active (rather than creating new Process instances).
Operational Semantics of Event-based Gateway is specified in Table 13.4, of the section 13.3.4 of
the BPMN 2.0 specification.
3.2.4 Events
3.3.1 Usability
a. Since we target business analysts to use Levi, it does not need a specific technical
knowledge to use it. But the user must have a thorough knowledge on business process
modeling and have to have a good understanding of the BPMN 2.0 notation.
Levi | System Requirements Specification 20
b. For a normal business analyst who is not familiar with BPMN 2.0 may take some time to
learn BPMN 2.0 to use this. But if the user have a good understanding then he can use
this straight forwardly.
c. Under the project scope we will cover the execution of the modeled business process. So
the users can use any of the BPMN 2.0 modeling tool to model a process and use Levi to
do the execution.
3.3.2 Reliability
This should be very reliable system because a single error in this can be causes pretty much
damage to the user enterprise. There are some reliability facts we need to care about as detailed
below.
3.3.4 Supportability
Currently the BPMN 2.0 specification is in its beta 2 version. The OMG (Object Management
Group) and BPMI (Business Process Management Initiative) are leading the effort of finalizing
the specification of BPMN 2.0. The Levi Engine will be implemented based on the latest possible
version of the specification available at the period of implementation and will get updated to the
final version of BPMN 2.0 when it is available. Also it is expected that the Levi Engine will
support the additions to the BPMN 2.0 specification in the future and provide supportability in
the long run. The goal is to provide the users of Levi Engine with up to date support of the
specification.
3.3.7.1 JACOB
Apache ODE’s JACOB framework is developed to implement the BPEL constructs and this
framework provides the mechanism necessary to deal with two key issues in implementing
BPEL constructs like Persistence of execution state and Concurrency. Because of these key
issues also applied in implementing BPMN 2.0 constructs we can use Apache ODE’s JACOB
framework directly for the implementation.
3.3.8 Interfaces
The following notice, with the fields enclosed by brackets "[]" replaced with our projets
identifying information will be added to every source file, enclosed in the appropriate comment
syntax for the file format. A file or class name and description of purpose will be included on the
same "printed page" as the copyright notice for easier identification within third-party archives.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to
in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
4.2 References
[1] T. Allweyer, BPMN 2.0 - Business Process Model And Notation, BoD, 2010.
[2] M. Havey, Essential business process modeling, O'Reilly Media, Inc., 2005.
[3] Business Process Model And Notation (BPMN) Specification, Version 2.0 - Beta 2, May 2010
http://www.omg.org/spec/BPMN/2.0/
[4] OMG Group, “BPMN 2.0 by Example,” OMG Group, vol. 0, May 2010.
http://www.omg.org/spec/BPMN/2.0/examples/PDF
[5] Bruce Silver. “BPMN 2.0 Status Update”, blog, 5 Oct. 2010,
http://www.brsilver.com/2009/07/06/bpmn-20-status-update-2/
[11]Process Modeling Notations and Workflow Patterns, paper by Stephen A. White of IBM
Corporation (2006) http://www.bpmn.org/Documents/Notations_and_Workflow_Patterns.pdf
[12] Decker, G., Kopp, O., Leymann, F., Weske, M.: BPEL4Chor: Extending BPEL for modeling
choreographies. In: ICWS 2007, IEEE Computer Society (July 2007)
[14] Russell, N.: Workflow Resource Patterns. Beta, Research School for Operations Management
and Logistics, 2005.
[15] Russell, N., W.M.P. van der Aalst, A.H.M. ter Hofstede, and D. Edmond: Workflow Resource
Patterns: Identification, Representation and Tool Support. Proceedings of the 17th Conference on
Advanced Information Systems Engineering (CAiSE 05), 3520:216–232.
[16] Kloppmann, M., D. Koenig, F. Leymann, G. Pfau, A. Rickayzen, C. von Riegen, P. Schmidt, and
I. Trickovic: WS-BPEL Extension for People– BPEL4People. Joint white paper, IBM and SAP, July,
2005.
[17] Wohed, P., WMP van der Aalst, M. Dumas, AHM ter Hofstede, and N. Russell: Pattern-based
Analysis of BPMN-An extensive evaluation of the Control-flow, the Data and the Resource
Perspectives. BPM Center Report BPM-05-26, BPMcenter. Org, 2005.
[18] Aalst, WMP van der and A. Kumar: A reference model for team-enabled workflow
management systems. Data & Knowledge Engineering, 38(3):335– 363, 2001.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as
defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is
granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are
controlled by, or are under common control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the direction or management of such
entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by
this License.
"Source" form shall mean the preferred form for making modifications, including but not
limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a
Source form, including but not limited to compiled object code, generated documentation, and
conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available
under the License, as indicated by a copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or
derived from) the Work and for which the editorial revisions, annotations, elaborations, or
other modifications represent, as a whole, an original work of authorship. For the purposes of
this License, Derivative Works shall not include works that remain separable from, or merely
link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work
and any modifications or additions to that Work or Derivative Works thereof, that is
intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an
individual or Legal Entity authorized to submit on behalf of the copyright owner. For the
purposes of this definition, "submitted" means any form of electronic, verbal, or written
communication sent to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and issue tracking
systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and
improving the Work, but excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a
Contribution has been received by Licensor and subsequently incorporated within the Work.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor
hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made, use, offer to sell, sell,
import, and otherwise transfer the Work, where such license applies only to those patent claims
licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or
by combination of their Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity (including a cross-claim or
counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the
Work constitutes direct or contributory patent infringement, then any patent licenses granted
to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works
thereof in any medium, with or without modifications, and in Source or Object form, provided
that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy of this
License; and
(b) You must cause any modified files to carry prominent notices stating that You changed
the files; and
(c) You must retain, in the Source form of any Derivative Works that You distribute, all
copyright, patent, trademark, and attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative
Works that You distribute must include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not pertain to any part of the
Derivative Works, in at least one of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents of the NOTICE file are for
informational purposes only and do not modify the License. You may add Your own
attribution notices within Derivative Works that You distribute, alongside or as an
addendum to the NOTICE text from the Work, provided that such additional attribution
notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional
or different license terms and conditions for use, reproduction, or distribution of Your
modifications, or for any such Derivative Works as a whole, provided Your use, reproduction,
and distribution of the Work otherwise complies with the conditions stated in this License.
6. Trademarks. This License does not grant permission to use the trade names, trademarks,
service marks, or product names of the Licensor, except as required for reasonable and
customary use in describing the origin of the Work and reproducing the content of the NOTICE
file.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including
negligence), contract, or otherwise, unless required by applicable law (such as deliberate and
grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for
damages, including any direct, indirect, special, incidental, or consequential damages of any
character arising as a result of this License or out of the use or inability to use the Work
(including but not limited to damages for loss of goodwill, work stoppage, computer failure or
malfunction, or any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.