SlideShare a Scribd company logo
1 of 27
Download to read offline
Composing Business
Process with ID-Net
       Ang Chen and Didier Buchs

  System Modeling and Verification Group

      PNSE’07 Workshop, Juin 25-26, Siedlce, Poland
Outline

                  • Business Process (BP) Modeling
                  • ID-Net: Motivations
                  • ID-Net: Semantics
                  • Model Composition with ID-Net
                  • Example
PNSE 2007 Workshop, Siedlce, Poland      2           A.Chen
BP Modeling: Elements
                Process                                         production
                                                                 schedule
                                      receive     collect                      send
                                       order     payment                     invoice
                                                                 shipping
                                                                 schedule



                Each color represents an organization

                 Activity

                 Flow

                 Participant


PNSE 2007 Workshop, Siedlce, Poland                         3                          A.Chen
BP Modeling: Control-
                          Flow
                                                                           production
                                                                            schedule
           Informal                    receive          collect                                      send
          description                   oder           payment                                     invoice
                                                                             shipping
                                                                             schedule

                                                                             shipping
                                                        order                schedule
          A Possible                                                                       create
                                      receive                     schedule                invoice invoice
         Control-Flow
                                       order                                                                   send
                                                                                                             invoice
                                       collect
                                      payment
                                                       payment               production
                                                                              schedule

         Receive order and collect payment can be parallel or
         sequential, depending on the interpretation of the informal
         model. parallel might be more flexible in this case

PNSE 2007 Workshop, Siedlce, Poland                                    4                                               A.Chen
BP Modeling: Data
                                   Model
                                                                                 production
                                                                                  schedule
                                      receive           collect                                          send
                                       oder            payment                                         invoice
                                                                                  shipping
                                                                                  schedule



               Data Model

                                                0..*   1                     1                0..1
                                       Item                Order                                      Shipping
                                                                   1         1
                                                                                              0..1
                                                                  0..*                               Production
                                                           Payment




PNSE 2007 Workshop, Siedlce, Poland                                      5                                        A.Chen
BP Modeling:
        Control-Flow Model
                                               Dimensions
                                                     shipping
                                                     schedule
                               order
                                                                   create
                                          schedule
        receive                                                   invoice   invoice
         order
                                                                                              send
                                                                                            invoice
        collect
       payment


                                                                                                      ?   Executable
                              payment                production
                                                      schedule
                                                                                                          Workflow

                                                     ?                             ?
         Data Model
                       0..*           1               1                     0..1
             Item                         Order                                        Shipping
                                                1     1
                                                                            0..1
                                              0..*                                    Production
                                          Payment


PNSE 2007 Workshop, Siedlce, Poland                                                   6                                A.Chen
BP Modeling:
                                      Approaches
                  •       (Explicit) State-Based Model: Petri Net and its
                          variances, e.g. Workflow Nets, CPN
                  •       Service-Oriented: service composition, e.g.
                          BPEL
                  •       Metamodel-Based with
                        •      Implicit state

                        •      Explicit state (combined with State-Based
                               semantics)

PNSE 2007 Workshop, Siedlce, Poland                 7                       A.Chen
The CPN Solution
                                                                            shipping
                                             order                          schedule
                                                            schedule
                                                        a              c


                                                        b           d
                                            payment                        production
                                                                            schedule
                                      The transition schedule uses a and b to produce c and d

                                                      (c, d)=schedule(a,b)
                                The relations between a,b,c,d should be defined in the PN
                             Forced to use the built-in data modeling mechanism (CPN ML)

                            SE: strong coupling between PN structure and data!

PNSE 2007 Workshop, Siedlce, Poland                             8                               A.Chen
BP Modeling and
                                       Development
                          From SE’s point of view:

                  •       The data modeling power is enough (e.g. with tuples), but
                          impractical in real BP development

                  •       Structure and data of BP are too constrained each other

                  •       Built-in, inflexible operational semantics

                  •       CPN is designed to analyze and verify models, not for BP
                          development

                  •       Same problem for other PN variances


PNSE 2007 Workshop, Siedlce, Poland                  9                                A.Chen
ID-Net: Hook Points
                                                   T
                                                                            shipping
              order                        a               c                schedule
                                                                                            Semantics is
                                                                           production       operationally
            payment                        b              d                 schedule    different with CPN
                                      T.before            T.after :
                                                 T.with
    Hook points (as in AOP)

         T.before :                   Select tokens from pre-set places (access the contents of places)

            T.with :                  Working with selected resources (access selected tokens)

           T.after :                  Working with produced resources (access post-places)
        T.around :                    Customized semantics for T



PNSE 2007 Workshop, Siedlce, Poland                                   10                                     A.Chen
ID-Net: IDs
                                                             P3:           order
                              P1:               T
                                                           shipping
                            Order
                                                           schedule        payment

                                                             P4:           shipping schedule
                              P2:                          production
                           Payment                                         production schedule
                                                            schedule




                                      Places are typed by the kind of ID




PNSE 2007 Workshop, Siedlce, Poland                   11                                         A.Chen
ID-Net: IDs (cont.)
                                                          P3:        order
                           P1:              T
                                                        shipping
                         Order
                                                        schedule     payment

                                                          P4:        shipping schedule
                           P2:                          production
                        Payment                                      production schedule
                                                         schedule




                                       Tokens are IDs referring to
                                      (concrete or not) resources



PNSE 2007 Workshop, Siedlce, Poland                12                                      A.Chen
IDtifier
                  •       ID is independent of modeling formalism

                  •       Presented in many kinds of applications, e.g.
                          security (keys), Web (e.g. URLs, cookies)

                  •       For BP Modeling, ID is the key to:
                        •      symbolically represent the resource (modeling phase)

                        •      identify a concrete resource (implementation phase)

                        •      support data model (e.g. candidate key)


PNSE 2007 Workshop, Siedlce, Poland                  13                               A.Chen
ID-Net
                 1.   Tokens are typed IDs to identify the resources
                 2.   Places are typed “IDs Holder”
                 3.   The ID-Net model controls the visibility of resources
                      using the classical Petri Net semantics
                 4.   Semantics of transitions can be extended by
                      composing other models with ID-Net model
                 5.   External models produce and use the IDs to do specific
                      work


PNSE 2007 Workshop, Siedlce, Poland            14                             A.Chen
ID-Net + Data Model:
                            Type Mapping
                                                                  shipping
                                              order               schedule
                                                                                create
                          receive                      schedule                invoice invoice
                           order                                                                        send
                                                                                                      invoice
                          collect
                         payment
                                             payment              production
                                                                   schedule




                                               0..*      1                1                0..1
                                      Item                   Order                                 Shipping
                                                                    1     1
                                                                                           0..1
                                                                  0..*                            Production
                                                             Payment




PNSE 2007 Workshop, Siedlce, Poland                                      15                                     A.Chen
Data Manipulation
                              Operations (DMOs)
                  •       DMO’s are derived from the metamodel (implied by the data
                          semantics of metamodel)

                  •       In term of DB: CRUD (Create, Read, Update, Delete) operations

                                       DMOs               Pseudo code:

                                      Entity Creation     ItemID item_id= Item.Create(name, price);

                                                          OrderID order_id= Order.Create();
                                  Relationship Creation   setRelation(order_id, item_id, “has”)
                                                          setAttribute(order_id, aDate, ”date”,);
                                  Entity Removal          Item.Delete(item_id);

                                  Relationship Removal    RemoveRelation(order_id, item_id, “has”);




PNSE 2007 Workshop, Siedlce, Poland                        16                                         A.Chen
DMOs: Motivation
                  •       Real-world BPs are constructed on and supported
                          by DB systems

                  •       Activities of BPs are composed of data manipulation
                          (in memory)and data persistence(with DBMS)

                  •       Data manipulation are relied principally the domain
                          data model

                  •       DMOs are services provided by DBMS

                  •       ID is the key to access the data


PNSE 2007 Workshop, Siedlce, Poland              17                             A.Chen
Model Composition
                  •       Specify the composition: synchronize the PN
                          transition with the DMOs (similar to service
                          composition)
                  •       Using the temporal operators of AOP to
                          compose DMOs with the control-flow: before,
                          after, around
                  •       Using synchronization operator // (with) to
                          create atomic actions (from CO-OPN)

PNSE 2007 Workshop, Siedlce, Poland           18                         A.Chen
Example:
                       ID -> Data Instances
                         P1:                     T                        P3:                payment
                       order                                            shipping
                                                                        schedule             order

                         P2:                                              P4:                shipping
                      payment
                                                                    production
                                                                                             production
                                                                     schedule




                                             1       0..1
                                 Order                       Shipping
                                       1     1                                        IDs refer to
                                                     0..1
                                      0..*
                                                            Production             instances of data
                                 Payment




PNSE 2007 Workshop, Siedlce, Poland                         19                                            A.Chen
Example:
                       Synchronized function
                      P1:
                                       T                            P3:                      payment
                   payment
                                                               shipping
                                                                                            order

                      P2:                                           P4:                     shipping
                                                               production
                     order
                                                                                             production




                                                    synchronized function: M with T
                                      P1.take(   ); P2.take(   );                 reserve tokens
    Executable, composed model
                                      payment=getPaymentFromID( );                access resources
                                      order=getOrdersFromID( );
    M with T uses selected            if (payment.clientID != order.clientID) {
    tokens as inputs                      P1.release( ); P2.release( );            check firability
                                          throws NotFirableException()
                                      }


PNSE 2007 Workshop, Siedlce, Poland                     20                                                A.Chen
Example:
                       Synchronized function
                      P1:
                                       T                        P3:                            payment
                   payment
                                                              shipping
                                                                                               order

                      P2:                                       P4:                            shipping
                                                              production
                     order
                                                                                               production




                                                   synchronized function: M with T

    Executable, composed model        ...
                                      date = estimateDeliveryDate(order);     external stuff

                                        =Shipping.Create(date, dest);
                                                                                 DMOs
    M uses the IDs to do                =Production.Create(date, orderSet);
    anything it wants, and            P1.remove( ); P2.remove( );
    produces post-tokens
                                      P3.put( ); P4.put( );           produce post-conditions
PNSE 2007 Workshop, Siedlce, Poland                    21                                                   A.Chen
Composed Semantics
                      P1:                                                                  payment
                                          T                      P3:
                   payment
                                                               shipping
                                                                                           order

                      P2:                                        P4:                       shipping
                                                               production
                     order
                                                                                            production




                                                      synchronized function: M with T
                                      P1.take( ); P2.take( );                         reserve tokens
  Executable, composed                payment=getPaymentFromID( );
                                                                                       check firability
                                      order=getOrdersFromID( );
  model                               if (payment.clientID != order.clientID) throws NotFirableException()
                                      {P1.release( ); P2.release( ); }
                                      ...
                                      date = estimateDeliveryDate(order);               external stuff
                                          =Shipping.Create(date, dest);
                                          =Production.Create(date, orderSet);
                                      P1.remove( ); P2.remove( );                produce post-conditions
                                      P3.put( ); P4.put( 22);
PNSE 2007 Workshop, Siedlce, Poland                                                                          A.Chen
ID-Net in BP
                                      Development
                                      ID-Net                     Data
                                       Model                     Model       Model-Based
                                                                               Iterative
                                       V1                         V1         Development
                                                                               Process

                                       V2                         V2
                                                   Model
                                                Reconciliation


                                       V3                         V3

                                                 Model                   Executable
                                               Composition               Workflow

PNSE 2007 Workshop, Siedlce, Poland                                23                      A.Chen
Framework
       Control-Flow Model
                                                   shipping
                           order                   schedule
                                                                 create
       receive                         schedule                 invoice invoice
        order                                                                            send
                                                                                       invoice
       collect
      payment
                          payment                  production
                                                    schedule




                                                                                                        Model       Executable
                                       Composition
                                                                                                      Composition   Workflow
                                       specification

         Data Model
                   0..*            1                  1                   0..1
           Item                         Order                                      Shipping
                                             1        1
                                                                          0..1
                                            0..*
                                                                                  Production
                                        Payment




PNSE 2007 Workshop, Siedlce, Poland                                                              24                              A.Chen
Conclusion
                  •       ID-Net has flexible and extensible semantics:
                        •      it handles the tokens as the classical PN

                        •      the external models will produce and interpret the values
                               tokens

                        •      the composition specifies the interplay between ID-Net
                               and other models

                  •       BPs can be developed in an iterative and flexible
                          way with the framework using ID-Net


PNSE 2007 Workshop, Siedlce, Poland                    25                                  A.Chen
Research Perspectives
                  • Relations between the functional
                          dependency of data and dependency of
                          activities in workflow
                  • How the composed external model
                          interprets the properties of an ID-Net
                  • Hiding information during the design of BP
                          service (issues in cross-organizational BPs)


PNSE 2007 Workshop, Siedlce, Poland          26                          A.Chen
ID-Net Semantics
                Preliminary operational                                    P1           T            P2
                       semantics

             A Place is a multi-set which supports the
             following operations:
              •take(token): reserve token
              •release(token): release token (inverse of take)         T will be evaluated successfully if each
              •put(token): put token into the place                   pre-set place provides at least one token
              •remove(token): remove token from the place

       The steps can                                             Firing a transition consists of:
        be hooked                     before: [0..1]              1. select tokens in pre-set places

                                                                  2. reserve pre-condition tokens temporally
                                      with: [2..4]                3. evaluate T (if failed, release reserved
           around: [0..6]
                                                                  tokens)
                                      after: >5                   4. remove reserved tokens

                                                                  5. put post-conditions into post-set places




PNSE 2007 Workshop, Siedlce, Poland                              27                                               A.Chen

More Related Content

More from Ang Chen

Synchronized Composition Of Labeled Transition SystemTS
Synchronized Composition Of Labeled Transition SystemTSSynchronized Composition Of Labeled Transition SystemTS
Synchronized Composition Of Labeled Transition SystemTSAng Chen
 
Jsp & Ajax
Jsp & AjaxJsp & Ajax
Jsp & AjaxAng Chen
 
Semantics (requirements) of Business Process
Semantics (requirements) of Business ProcessSemantics (requirements) of Business Process
Semantics (requirements) of Business ProcessAng Chen
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process ModelingAng Chen
 
Java Code Generation from Formal Models: The CO-OPN Framework
Java Code Generation from Formal Models: The CO-OPN FrameworkJava Code Generation from Formal Models: The CO-OPN Framework
Java Code Generation from Formal Models: The CO-OPN FrameworkAng Chen
 
Prototyping Business Processes
Prototyping Business ProcessesPrototyping Business Processes
Prototyping Business ProcessesAng Chen
 
Towards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and IntegrationTowards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and IntegrationAng Chen
 

More from Ang Chen (7)

Synchronized Composition Of Labeled Transition SystemTS
Synchronized Composition Of Labeled Transition SystemTSSynchronized Composition Of Labeled Transition SystemTS
Synchronized Composition Of Labeled Transition SystemTS
 
Jsp & Ajax
Jsp & AjaxJsp & Ajax
Jsp & Ajax
 
Semantics (requirements) of Business Process
Semantics (requirements) of Business ProcessSemantics (requirements) of Business Process
Semantics (requirements) of Business Process
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
 
Java Code Generation from Formal Models: The CO-OPN Framework
Java Code Generation from Formal Models: The CO-OPN FrameworkJava Code Generation from Formal Models: The CO-OPN Framework
Java Code Generation from Formal Models: The CO-OPN Framework
 
Prototyping Business Processes
Prototyping Business ProcessesPrototyping Business Processes
Prototyping Business Processes
 
Towards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and IntegrationTowards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and Integration
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 

Recently uploaded (20)

Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 

Composing Business Process with ID-Net

  • 1. Composing Business Process with ID-Net Ang Chen and Didier Buchs System Modeling and Verification Group PNSE’07 Workshop, Juin 25-26, Siedlce, Poland
  • 2. Outline • Business Process (BP) Modeling • ID-Net: Motivations • ID-Net: Semantics • Model Composition with ID-Net • Example PNSE 2007 Workshop, Siedlce, Poland 2 A.Chen
  • 3. BP Modeling: Elements Process production schedule receive collect send order payment invoice shipping schedule Each color represents an organization Activity Flow Participant PNSE 2007 Workshop, Siedlce, Poland 3 A.Chen
  • 4. BP Modeling: Control- Flow production schedule Informal receive collect send description oder payment invoice shipping schedule shipping order schedule A Possible create receive schedule invoice invoice Control-Flow order send invoice collect payment payment production schedule Receive order and collect payment can be parallel or sequential, depending on the interpretation of the informal model. parallel might be more flexible in this case PNSE 2007 Workshop, Siedlce, Poland 4 A.Chen
  • 5. BP Modeling: Data Model production schedule receive collect send oder payment invoice shipping schedule Data Model 0..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment PNSE 2007 Workshop, Siedlce, Poland 5 A.Chen
  • 6. BP Modeling: Control-Flow Model Dimensions shipping schedule order create schedule receive invoice invoice order send invoice collect payment ? Executable payment production schedule Workflow ? ? Data Model 0..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment PNSE 2007 Workshop, Siedlce, Poland 6 A.Chen
  • 7. BP Modeling: Approaches • (Explicit) State-Based Model: Petri Net and its variances, e.g. Workflow Nets, CPN • Service-Oriented: service composition, e.g. BPEL • Metamodel-Based with • Implicit state • Explicit state (combined with State-Based semantics) PNSE 2007 Workshop, Siedlce, Poland 7 A.Chen
  • 8. The CPN Solution shipping order schedule schedule a c b d payment production schedule The transition schedule uses a and b to produce c and d (c, d)=schedule(a,b) The relations between a,b,c,d should be defined in the PN Forced to use the built-in data modeling mechanism (CPN ML) SE: strong coupling between PN structure and data! PNSE 2007 Workshop, Siedlce, Poland 8 A.Chen
  • 9. BP Modeling and Development From SE’s point of view: • The data modeling power is enough (e.g. with tuples), but impractical in real BP development • Structure and data of BP are too constrained each other • Built-in, inflexible operational semantics • CPN is designed to analyze and verify models, not for BP development • Same problem for other PN variances PNSE 2007 Workshop, Siedlce, Poland 9 A.Chen
  • 10. ID-Net: Hook Points T shipping order a c schedule Semantics is production operationally payment b d schedule different with CPN T.before T.after : T.with Hook points (as in AOP) T.before : Select tokens from pre-set places (access the contents of places) T.with : Working with selected resources (access selected tokens) T.after : Working with produced resources (access post-places) T.around : Customized semantics for T PNSE 2007 Workshop, Siedlce, Poland 10 A.Chen
  • 11. ID-Net: IDs P3: order P1: T shipping Order schedule payment P4: shipping schedule P2: production Payment production schedule schedule Places are typed by the kind of ID PNSE 2007 Workshop, Siedlce, Poland 11 A.Chen
  • 12. ID-Net: IDs (cont.) P3: order P1: T shipping Order schedule payment P4: shipping schedule P2: production Payment production schedule schedule Tokens are IDs referring to (concrete or not) resources PNSE 2007 Workshop, Siedlce, Poland 12 A.Chen
  • 13. IDtifier • ID is independent of modeling formalism • Presented in many kinds of applications, e.g. security (keys), Web (e.g. URLs, cookies) • For BP Modeling, ID is the key to: • symbolically represent the resource (modeling phase) • identify a concrete resource (implementation phase) • support data model (e.g. candidate key) PNSE 2007 Workshop, Siedlce, Poland 13 A.Chen
  • 14. ID-Net 1. Tokens are typed IDs to identify the resources 2. Places are typed “IDs Holder” 3. The ID-Net model controls the visibility of resources using the classical Petri Net semantics 4. Semantics of transitions can be extended by composing other models with ID-Net model 5. External models produce and use the IDs to do specific work PNSE 2007 Workshop, Siedlce, Poland 14 A.Chen
  • 15. ID-Net + Data Model: Type Mapping shipping order schedule create receive schedule invoice invoice order send invoice collect payment payment production schedule 0..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment PNSE 2007 Workshop, Siedlce, Poland 15 A.Chen
  • 16. Data Manipulation Operations (DMOs) • DMO’s are derived from the metamodel (implied by the data semantics of metamodel) • In term of DB: CRUD (Create, Read, Update, Delete) operations DMOs Pseudo code: Entity Creation ItemID item_id= Item.Create(name, price); OrderID order_id= Order.Create(); Relationship Creation setRelation(order_id, item_id, “has”) setAttribute(order_id, aDate, ”date”,); Entity Removal Item.Delete(item_id); Relationship Removal RemoveRelation(order_id, item_id, “has”); PNSE 2007 Workshop, Siedlce, Poland 16 A.Chen
  • 17. DMOs: Motivation • Real-world BPs are constructed on and supported by DB systems • Activities of BPs are composed of data manipulation (in memory)and data persistence(with DBMS) • Data manipulation are relied principally the domain data model • DMOs are services provided by DBMS • ID is the key to access the data PNSE 2007 Workshop, Siedlce, Poland 17 A.Chen
  • 18. Model Composition • Specify the composition: synchronize the PN transition with the DMOs (similar to service composition) • Using the temporal operators of AOP to compose DMOs with the control-flow: before, after, around • Using synchronization operator // (with) to create atomic actions (from CO-OPN) PNSE 2007 Workshop, Siedlce, Poland 18 A.Chen
  • 19. Example: ID -> Data Instances P1: T P3: payment order shipping schedule order P2: P4: shipping payment production production schedule 1 0..1 Order Shipping 1 1 IDs refer to 0..1 0..* Production instances of data Payment PNSE 2007 Workshop, Siedlce, Poland 19 A.Chen
  • 20. Example: Synchronized function P1: T P3: payment payment shipping order P2: P4: shipping production order production synchronized function: M with T P1.take( ); P2.take( ); reserve tokens Executable, composed model payment=getPaymentFromID( ); access resources order=getOrdersFromID( ); M with T uses selected if (payment.clientID != order.clientID) { tokens as inputs P1.release( ); P2.release( ); check firability throws NotFirableException() } PNSE 2007 Workshop, Siedlce, Poland 20 A.Chen
  • 21. Example: Synchronized function P1: T P3: payment payment shipping order P2: P4: shipping production order production synchronized function: M with T Executable, composed model ... date = estimateDeliveryDate(order); external stuff =Shipping.Create(date, dest); DMOs M uses the IDs to do =Production.Create(date, orderSet); anything it wants, and P1.remove( ); P2.remove( ); produces post-tokens P3.put( ); P4.put( ); produce post-conditions PNSE 2007 Workshop, Siedlce, Poland 21 A.Chen
  • 22. Composed Semantics P1: payment T P3: payment shipping order P2: P4: shipping production order production synchronized function: M with T P1.take( ); P2.take( ); reserve tokens Executable, composed payment=getPaymentFromID( ); check firability order=getOrdersFromID( ); model if (payment.clientID != order.clientID) throws NotFirableException() {P1.release( ); P2.release( ); } ... date = estimateDeliveryDate(order); external stuff =Shipping.Create(date, dest); =Production.Create(date, orderSet); P1.remove( ); P2.remove( ); produce post-conditions P3.put( ); P4.put( 22); PNSE 2007 Workshop, Siedlce, Poland A.Chen
  • 23. ID-Net in BP Development ID-Net Data Model Model Model-Based Iterative V1 V1 Development Process V2 V2 Model Reconciliation V3 V3 Model Executable Composition Workflow PNSE 2007 Workshop, Siedlce, Poland 23 A.Chen
  • 24. Framework Control-Flow Model shipping order schedule create receive schedule invoice invoice order send invoice collect payment payment production schedule Model Executable Composition Composition Workflow specification Data Model 0..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment PNSE 2007 Workshop, Siedlce, Poland 24 A.Chen
  • 25. Conclusion • ID-Net has flexible and extensible semantics: • it handles the tokens as the classical PN • the external models will produce and interpret the values tokens • the composition specifies the interplay between ID-Net and other models • BPs can be developed in an iterative and flexible way with the framework using ID-Net PNSE 2007 Workshop, Siedlce, Poland 25 A.Chen
  • 26. Research Perspectives • Relations between the functional dependency of data and dependency of activities in workflow • How the composed external model interprets the properties of an ID-Net • Hiding information during the design of BP service (issues in cross-organizational BPs) PNSE 2007 Workshop, Siedlce, Poland 26 A.Chen
  • 27. ID-Net Semantics Preliminary operational P1 T P2 semantics A Place is a multi-set which supports the following operations: •take(token): reserve token •release(token): release token (inverse of take) T will be evaluated successfully if each •put(token): put token into the place pre-set place provides at least one token •remove(token): remove token from the place The steps can Firing a transition consists of: be hooked before: [0..1] 1. select tokens in pre-set places 2. reserve pre-condition tokens temporally with: [2..4] 3. evaluate T (if failed, release reserved around: [0..6] tokens) after: >5 4. remove reserved tokens 5. put post-conditions into post-set places PNSE 2007 Workshop, Siedlce, Poland 27 A.Chen