Rigorous Business Process Modeling with OCL - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Rigorous Business Process Modeling with OCL

Description:

... from start of execution of a plan to completion of it. ... MPSHORIZON The duration from start of execution of a MPS to completion of execution of the MPS. ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 35
Provided by: Office2004244
Category:

less

Transcript and Presenter's Notes

Title: Rigorous Business Process Modeling with OCL


1
Rigorous Business Process Modeling with OCL
  • Tsukasa Takemura
  • (Software Development Laboratory,
  • IBM Japan, Ltd.)
  • Tetsuo Tamai
  • (Graduate School of Arts and Sciences,
  • The University of Tokyo, Japan)

2
Contents
  • Introduction
  • Research Issue
  • Proposed Solution
  • Business-IT Gap
  • Business Process Modeling (BPM)
  • Case Study
  • OCL Extension for BPM
  • Conclusion
  • Further Improvements

3
Introduction
  • Recently business process modeling (BPM) is
    getting a lot of attention as a predominant
    technology to bridge business-IT gaps.
  • UML activity diagram was drastically changed in
    UML 2.0 to support business process modeling.

4
Research Issue
  • However, this emerging technology is insufficient
    to bridge the business-IT gaps as expected
    because
  • BPM is not so simple as business people expected
  • BPMs dont provide enough information about
    activities behavior

5
Proposed Solution
  • Rigorous BPMs help to bridge the business-IT gaps
  • They propose
  • To use OCL to describe business and to model
    business rigorously.
  • An extension of OCL for BPMs
  • To allow to specify an Action as a context of OCL
    expression and navigate to its input/output pins.
  • To allow to use _at_pre keyword for input pin values
    of actions.

6
Business-IT Gap
  • Enterprises must change their business processes
    in response to changes in their business
    enthronement to survive.
  • Description about the business process provided
    by business persons tends to be ambiguous and
    does not provide IT persons with enough
    information to build/change IT systems rapidly
    according to changes in the business.

7
Business Process Modeling
  • BPM is a method to model activities and their
    sequence, business objects passed among
    activities, resources, time and cost required to
    perform the activities.

8
Why BPM is not powerful enough?
  • Ambiguity
  • Many business consultants use presentation tools
    or drawing tools to depict business processes and
    they have no formal syntax or semantics.

9
UML as a BPM Tool
  • A significant change in UML 2.0 Activity Diagram
  • Its foundation was changed from state chart
    diagram to Petri-net.
  • This change allows us to describe data flows and
    parallel execution of activities in UML 2.0
    activity diagrams.

10
UML as a BPM Tool
  • It is still not sufficient because
  • Behavior of each activity or action is not
    expressed in the activity diagrams.
  • To implement the activities or the actions, their
    behaviors need to be expressed in the BPM.
  • In some cases, business processes consist of
    asynchronous activities repeated with different
    intervals. It is difficult to model such
    processes only by connecting activities with
    control flows and object flows.
  • We need to establish modeling methodology for
    such complicated asynchronously repeated
    processes.

11
Proposed solution
  • Extended OCL

12
Case Study
13
Case Study
  • Resource Plan (RP) Long term plan including
    productive facilities, allocation of human
    resources, etc.
  • Production Plan (PP) Intermediate term plan
    including provision of long lead time materials.
  • Master Production Schedule (MPS) Short term plan
    including provision of short time materials.
  • The product is made of two types of materials
  • Long Lead Time (LLT) material
  • Short Lead Time (SLT) material

14
(No Transcript)
15
Case Study
  • Planning Horizon Duration from start of
    execution of a plan to completion of it.
  • Order Lead Time Duration from issue of an order
    to expected time of products/materials delivery.

16
Case Study
  • CUSTOMERLEADTIME The shortest duration from
    receiving a customer order to product delivery
    associated to the order.
  • LLTMATERIALLEADTIME The shortest duration from
    issuing a purchase order for the long lead time
    material to receiving the material.
  • SLTMATERIALLEADTIME The shortest duration from
    issuing a purchase order for the short lead time
    material to receiving the material.

17
Case Study
  • MPSHORIZON The duration from start of execution
    of a MPS to completion of execution of the MPS.
  • PPHORIZON The duration from start of execution of
    a production plan to completion of execution of
    the production plan.
  • RPSHORIZON The duration from start of execution
    of a resource plan to completion of execution of
    the resource plan.

18
Case Study
  • Available To Promise (ATP) The amount of
    products available on a specific date including
    future.
  • ATP Accumulated promised delivery -
    Accumulated products planned to be produced

19
Case Study
20
Case Study
21
(No Transcript)
22
OCL Expressions
  • context AvailableToPromisegetQuantity( date
    Date ) Integer
  • body
  • existingPlans.getQuantity( date )
  • - existingPromises.getQuantity( date )
  • context ExistingPlangetQuantity( date Date )
    Integer
  • body
  • mpss-gtselect( executionCompleteDate lt date
    ).quantity-gtsum()
  • productionPlans-gtselect( executionCompleteDate
    lt date and executionCompleteDate - TODAY() gt
    MPSHORIZON ).quantity-gtsum()
  • resourcePlans-gtselect( executionCompleteDate lt
    date and executionCompleteDate - TODAY() gt
    PPHORIZON ).quantity-gtsum()

23
OCL Expressions
  • context ExistingPromisegetQuantity( date Dime
    ) Integer
  • body
  • promisesForCustomerOrders-gtselect(
    estimatedDeliveryDate lt date and
  • estimatedDeliveryDate - TODAY() gt
    CUSTOMERLEADTIME ).quantity-gtsum()
  • context OrderPromisingpromiseOrder( )
  • pre
  • newCustomerOrder.expectedDeliveryDate gt TODAY()
    CUSTOMERLREADTIME and
  • // Lead time of the new customer order is longer
    than CUSTOMERLREADTIME
  • newPromisesForCustomerOrder-gtselect(ID
    newCustomerOrder.ID)-gtisEmpty()
  • // no promise for the customer order exists

24
OCL Expressions
  • post
  • newPromisesForCustomerOrder-gtselect( ID
    newCustomerOrder.ID )-gtnotEmpty()
  • // if there are any promise for the customer
    order
  • implies
  • newPromisesForCustomerOrder-gtselect( ID
    newCustomerOrder.ID )-gtsize() 1 and
  • // there is only one promise for the customer
    order and newPromisesForCustomerOrder-gtselect( ID
    newCustomerOrder.ID ).quantity-gtsum()
  • newCustomerOrder.quantity and
  • // total quantity of promises is equal to
    requested quantity in customer order and
    newPromisesForCustomerOrder-gtselect( ID
    newCustomerOrder.ID )-gt
  • forAll( estimatedDeliveryDate
    newCustomerOrder.expectedDeliveryDate ) and
  • // estimated delivery date of the promise is
    equal to
  • // expected delivery date of the customer order
    and
  • newPromisesForCustomerOrder-gtselect( ID
    newCustomerOrder.ID )-gt
  • forAll( quantity lt availableToPromise_at_pre.getQuan
    tity( estimatedDeliveryDate ))
  • // total quantity of promises is equal to or less
    than ATP

25
Promise Order action with constraints in
activity diagram
26
OCL Extension for BPM
  • OCL is useful for rigorous BPM. However, OCL is
    required to be extended to add the constraints
    described with OCL to UML activity diagrams.

27
OCL Extension for BPM
  • Contexts
  • To describe the behavior of actions, it is
    required to express preconditions and
    postconditions of actions.
  • Consequently, OCL expression needs to have a
    context from which we can navigate to input pins
    and output pins of actions in order to express
    the constraint of the pins.
  • (best context candidates --gt actions)

28
OCL Extension for BPM
  • Contexts
  • UML metamodel allows to add Constraint to
    Actions, however OCL specification does not
    expect to specify an action as a context.
  • Chapter 7.3.4 of OCL specification
  • The OCL expression can be part of Precondition
    or Postcondition, corresponding to
    ltltpreconditiongtgt and ltltpostconditiongtgt
    stereotypes of Constraint associated with an
    Operation of other behavioral feature. The
    contextual instance self then is an instance of
    the type which owns the operation or method as a
    feature.

29
OCL Extension for BPM
  • Contexts
  • Paper proposes (1) to extend OCL to allow to
  • specify an Action as a context of OCL
  • expression and navigate its input/output pins.

30
OCL Extension for BPM
  • _at_pre
  • Paper proposes (2) to extend the OCL to allow
  • the use of _at_pre keyword to refer the value of
  • an input object on arrival on an input pin.

31
Extended OCL Example
  • context promiseOrder
  • pre
  • newCustomerOrderPin.expectedDeliveryDate gt
    TODAY() CUSTOMERLRADTIME and
  • newPromisesForCustomerOrderPin-gtselect(id
    newCustomerOrderPin.ID ) -gtisEmpty()
  • post
  • newPromisesForCustomerOrderPin-gtselect( id
    newCustomerOrderPin.ID ) -gtnotEmpty()
  • implies
  • newPromisesForCustomerOrderPin-gtselect( id
    newCustomerOrderPin.ID_at_pre )
  • -gtsize() 1 and
  • newPromisesForCustomerOrderPin-gtselect( id
    newCustomerOrderPin.ID_at_pre ).quantity
  • -gtsum() newCustomerOrderPin.quantity_at_pre and
  • newPromisesForCustomerOrderPin-gtselect( id
    newCustomerOrderPin.ID_at_pre )-gt forAll(
    estimatedDeliveryDate newCustomerOrderPin.expect
    edDeliveryDate_at_pre ) and newPromisesForCustomerOrd
    erPin-gtselect( id newCustomerOrderPin.ID_at_pre
    )-gt forAll( quantity lt availableToPromise.quantit
    y_at_pre( estimatedDeliveryDate ) )

32
Conclusion
  • Describing business environments rigorously helps
    rapid transition of a business process and its IT
    system. BPMs can help to bridge the Business-IT
    gaps.
  • IT persons can use the preconditions and
    postconditions to implement the action in the
    business process on IT systems because the model
    describes what the action should and should not
    perform rigorously and formally.

33
Conclusion
  • Authors proposed extension of OCL to support
    their approach. To describe constraints on
    actions in UML activity diagram, it is
    appropriate to specify an action as a context of
    OCL expression.

34
Further Improvements
  • OCL is a powerful tool for business process
    modeling. But its syntax and semantics are still
    difficult to learn for business persons.
  • To resolve this issue, the authors are planning
    to define domain specific languages to simplify
    OCL for business persons.
Write a Comment
User Comments (0)
About PowerShow.com