SlideShare a Scribd company logo
TAMING ORCHESTRATION
  DESIGN COMPLEXITY
       USING   `
Sébastien Mosser* Mireille Blay-Fornarino*& Robert France
                 ,                                      **

              (*) University of Nice - Sophia Antipolis
                CNRS / I3S / Modalis Team, France
          (**) Colorado State University, CS Department
           Software Assurance Lab, Fort Collins, CO, USA

           AOM Workshop, Bellairs (Barbados)
                 April, 12th 2010
ONCE UPON A TIME ...




a Commercial




                     an Architect
ONCE UPON A TIME ...
               « Service Oriented Architecture
               ( S OA ) i s a b u s i n e s s - c e n t ri c I T
               architectural approach that supports
               integrating your business as linked,
               repeatable business tasks, or
               services.»                                  (IBM)

a Commercial




                                           an Architect
ONCE UPON A TIME ...
                    « Service Oriented Architecture
                    ( S OA ) i s a b u s i n e s s - c e n t ri c I T
                    architectural approach that supports
                    integrating your business as linked,
                    repeatable business tasks, or
                    services.»                                  (IBM)

a Commercial

« Ok, so we will build atomic services and
then implement business processes to
orchestrate them all. It sounds exciting!
Let’s go! »
                                                an Architect
AND THEY ALL LIVED
  HAPPILY EVER AFTER ... SURE?
the (same)
Architect




                            the
                       (same)Comm
WHY???




  4
FROM DREAMS ...

  Receive a Message


 Invoke
              Invoke

                             partners
  Reply a Message

          business process
          5
... TO REALITY !




       6
... TO REALITY !




       6
AGENDA

• Context:    Realizing a CCCMS by designing a SOA

• ADORE, in    a Nutshell

• Algorithms: Weave     & Merge

• Conflicts:   Detection Rules

• Quantitative    Analysis

• Conclusions    & Perspectives
CONTEXT:
REALIZING A CCCMS
BY DESIGNING A SOA
CASE STUDY: «CAR CRASH
  CRISIS MANAGEMENT SYSTEM»
• TAOSD    Special Issue on Aspect Oriented Modeling

 • Rationale: A   common case study to compare AOM approaches

• Context: Crisis   Management System (CMS)

 • How   to handle a «car crash» crisis?

                         representation
                               of
                                 9
OUR APPROACH



                              Given requirements (pdf)




 Textual Use Cases           System Actors
           as                       as
   Business Processes         Atomic Services
                        10
EX: «CAPTURE WITNESS REP.»
                    Actors

                      Main
                    Success
                    Scenario


                    Business
                   Extensions

            11
=> REALIZING THE CCCMS ...
•8   Main Success Scenario:

 • e.g., «Capture Witness   Report»

• 27   Business Extensions:

 • e.g., «Fake Witness   Information»

•3   Non-Functional Properties:

 • i.e., «security», «persistence», «statistical   logging»

http://www.adore-design.org/doku/examples/cccms
                                    12
n ts
     8                             27                          e
                                                           m
  Scenarios                Business Extensions        i re
                                                   q u
                                                 Re
     Car Crash Crisis
    Management System


     3
NF Properties

                        e ss
                       c
                  P ro
           e ss
       s in
    B u
n ts
     8                             27                          e
                                                           m
  Scenarios                Business Extensions        i re
                                                   q u
                                                 Re
     Car Crash Crisis
    Management System
                                                         12
                    «designing» δ                     Processes
     3
NF Properties

                        e ss        12
                       c          Partners
                  P ro
           e ss
       s in
    B u
n ts
     8                              27                                  e
                                                                    m
  Scenarios                 Business Extensions                i re
                                                            q u
                                                       Re
     Car Crash Crisis                                       ~ 13 000
    Management System                                        Actions
                                                              12
                    «designing» δ                          Processes
     3                                          «realizing» ρ
NF Properties
                                                1216
                        e ss          12       Activities           895
                       c            Partners                      Relations
                  P ro
           e ss                         ρ
         in                   76
      us                   Operations
    B
n ts
     8                              27                                  e
                                                                    m
  Scenarios                 Business Extensions                i re
                                                            q u
                                                       Re
     Car Crash Crisis                                       ~ 13 000
    Management System                                        Actions
                                                              12
                    «designing» δ                          Processes
     3                                          «realizing» ρ
NF Properties
                                                1216
                        e ss          12       Activities           895
                       c            Partners                      Relations
                  P ro
           e ss                         ρ
         in                   76                  Intrinsic
      us                   Operations
    B                                            Parallelism
CHALLENGE: «HOW TO
TAME THIS COMPLEXITY?»




          14
IN A NUTSHELL
RATIONALE

   TAMING ORCHESTRATION
    DESIGN COMPLEXITY
• Modeler   designs incomplete processes (fragments)

 • Use   case (base process) & extensions, NF properties

• Algorithms     build the final (complete) process

 • Automatic   integration & properties preservation (e.g., orders)
                                16
OUR (META)MODEL
                 Activities
Processes




Relations

                        Variables
            17
A FRAMEWORK




18
A FRAMEWORK
   E -P
R -




      DSL

            18
A FRAMEWORK
    -P           EL
R -E          BP          G
                       P N




                                 L
  DSL                          M
                              X

         18
                      Mondrian
LET’S DEMONSTRATE!




          19
ALGORITHMS:
WEAVE & MERGE
WEAVE ALGORITHM
composition cms::captureWitnessReport {
  apply callDisconnected            => a10;
  apply callDisconnected            => a2;
  apply requestVideo(user: 'coord') => {a3,a4};
}


• Intention:
  • Integrate   fragments into processes
• Properties:
  • Order   Independence, Relation Preservation, Block Handling
                                  21
WEAVE, BY EXAMPLE

            ω


    ω



        ω


                Order-Independent
                           Blocks
                 22
WEAVE TECHNIQUE:
      «THINK, THEN DO»
   callDisconnected         requestVideo




cms::captureWitnessReport                  23
WEAVE TECHNIQUE:
        «THINK, THEN DO»
   callDisconnected         requestVideo


   χ
actions’         χ
             actions’’               χ
                                actions’’’

    f            f’                  f’’



cms::captureWitnessReport                    23
WEAVE TECHNIQUE:
        «THINK, THEN DO»
   callDisconnected         requestVideo


   χ
actions’         χ
             actions’’               χ
                                actions’’’

    f            f’                  f’’

                      ω
                                 actions
cms::captureWitnessReport                    23
WEAVE TECHNIQUE:
        «THINK, THEN DO»
   callDisconnected         requestVideo


   χ
actions’         χ
             actions’’               χ
                                actions’’’

    f            f’                  f’’


                                 actions
cms::captureWitnessReport                    23
WEAVE TECHNIQUE:
        «THINK, THEN DO»
   callDisconnected         requestVideo


actions’     actions’’          actions’’’

    f            f’                  f’’



cms::captureWitnessReport                    23
MERGE ALGORITHM

composition cms::captureWitnessReport {
  apply ignoreDisconnection        => a4;
  apply fakeCrisisDetected => a4;
}


• Intention:
  • Handle   the «Shared Join Point» problem
• Properties:
  • Order   Independence, Relation Preservation
                                  24
MERGE ALGORITHM



   μ



            Shared Join Points
            Order-Independent

       25
MERGE TECHNIQUE:
        «THINK, THEN DO» !
ignoreDisconnection            fakeCrisisDetected


    χ                                  χ

    f                 μ               f’


                actions              f’’’

                          26
THE ALL TOGETHER!!

composition cms::captureWitnessReport {
  apply callDisconnected            => a10;
  apply callDisconnected            => a2;
  apply requestVideo(user: 'coord') => {a3,a4};
  apply fakeWitnessInfo             => a2a3
  apply ignoreDisconnection => a4;
  apply fakeCrisisDetected => a4;
  apply fakeCrisisDetected => requestVideo::a3;
}


                       27
THE ALL TOGETHER!!
 Endogenous            Parameters      Weave
composition cms::captureWitnessReport {
  apply callDisconnected            => a10;
  apply callDisconnected            => a2;
  apply requestVideo(user: 'coord') => {a3,a4};
  apply fakeWitnessInfo             => a2a3
  apply ignoreDisconnection => a4;
  apply fakeCrisisDetected => a4;        Merge
  apply fakeCrisisDetected => requestVideo::a3;
}
    Multiple Use              Fragment on
    of Fragments               Fragment
                       27
OPENING THE BOX

callDisconnected


fakeWitnessInfo

requestVideo


fakeCrisisDetected


ignoreDisconnection

                      28
OPENING THE BOX
                          χ

callDisconnected
                          χ


fakeWitnessInfo       χ


requestVideo      χ


                              χ
fakeCrisisDetected
                              χ

ignoreDisconnection           χ


                                  28
OPENING THE BOX
                          χ

callDisconnected
                          χ


fakeWitnessInfo       χ


requestVideo      χ           β


                              χ
fakeCrisisDetected
                              χ

ignoreDisconnection           χ


                                  28
OPENING THE BOX
                          χ

callDisconnected
                          χ


fakeWitnessInfo       χ


requestVideo      χ           β
                                       ω
                              χ
fakeCrisisDetected
                              χ
                                       μ
ignoreDisconnection           χ


                                  28
OPENING THE BOX
                          χ                Endogenous
callDisconnected
                          χ


fakeWitnessInfo       χ


requestVideo      χ           β
                                       ω       ω
                              χ
fakeCrisisDetected
                              χ
                                       μ
ignoreDisconnection           χ

                                  captureWitnessReport
                                  28
CCCMS SUMMARY

Main Success Scenario + Business Extensions

 Weave            Merge           Actions

   23               5               2422

Previous System + Non Functional Properties

 Weave            Merge           Actions

  + 63             + 33            + 8416
                     29
CONFLICTS:
DETECTION RULES


      «Power is nothing without control»
             (Günter Kniesel, TR, 2006)
FINAL
RESULT ...




             31   (medium use case)
FINAL
RESULT ...                   Equivalent
                             Activities!




         Incomplete Model!

              31      (medium use case)
FINAL
RESULT ...




             31   (medium use case)
APPROACH: LOGICAL RULES

• Business   Process properties defined as logical rules:

  • e.g., «No   Concurrent Ending», «No Equivalent Calls»

• Rule   set is evaluated at different modeling «phase»:

  • Fragments    (P1), Compositions (P2), Merged (P3), Result (P4)

• Reaction      to a violation can be different

  • Can   be «just» a Bad-Smell (~) or a definitive Error (X)
                                  32
EXISTING RULES
         Rule                  P1 & P3   P2     P4
  Concurrent Ending               X
                                  Separation of ~
   Equivalent Calls               ~ Concerns ~
  Lack of Response                ~ Model       X
 Design Weaknesses              Incompleteness
                                  ~             ~
Reflexive Composition                      X
                                    Pointcuts
Recursive Composition                     X
                                   Interactions
    Missing Weave                         ~
 Uninitialized Variable           ~
                                    Fragments X
                                   Interactions
   Invocation Cycle               ~             ~
                          33
EXISTING RULES
         Rule                  P1 & P3   P2   P4
  Concurrent Ending               X           ~
   Equivalent Calls               ~           ~
  Lack of Response                ~           X
 Design Weaknesses                ~           ~
Reflexive Composition                     X
Recursive Composition                    X
    Missing Weave                        ~
 Uninitialized Variable          ~            X
   Invocation Cycle              ~            ~
                          33
EXAMPLE:
DESIGN WEAKNESSES                      No incomplete
                                         condition




isConflicting(Process,Act,Cond,Contrary) :-
  process(Process),
  activity:belongsTo(Act,Process),
  isGuardedBy(_,Act,Cond,Value),
  invert(Value,Contrary),
  + isGuardedBy(_,Act,Cond,Contrary).
                         34
QUANTITATIVE ANALYSIS
Business Extensions




Main Success Scenario     36
                               Non Functional Properties
PROCESS COGNITIVE LOAD
     Parallelism   Max. Length
        Width x Height              | Paths |




                                 | Activities |
• Hypothesis:



                      37
OBTAINED RESULTS




       38
OBTAINED RESULTS




       38
OBTAINED RESULTS




       38
CONCLUSIONS
 & PERSPECTIVES
TODAY,
 I SHOWED YOU ...
• The   ADORE framework in action

 • e.g., DSL, Algorithms, Model Transformations

• How   it tames orchestration design complexity

 • Using   the CCCMS, a common case study

• How   to ensure quality in composed models

 • Using   a set of logical rules, inference & backtracking
                                   40
AND I COULD
HAVE SHOWN  *...

• How   to build the complete CCCMS

 • Running   the associated set of composition

• How   to generate composition directives

 • Using   logical meta-predicates

• How   to use MONDRIAN to visualize compositions**

 • Providing                                                 (*) demo on
               a holistic point of view on a given system        demand
                                     41                     (**) SC‘2010
PERSPECTIVES
 • Structural    impact of behav. compositions

  • Linking ADORE    to model composition tools

 • Conflict   rule expressiveness

  • Defining   a DSL to express rules

 • Write     my PhD thesis!

  • Defend   it, and find a postdoc ^_^

                42
ANY QUESTIONS? REMARKS?




  http://www.adore-design.org

               43
                        Illustrations by C.line & sxc.hu

More Related Content

Similar to Taming Orchestration Design Using ADORE

Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Stuart Charlton
 
Isp
IspIsp
Osmius: Monitoring Made Easy
Osmius: Monitoring Made EasyOsmius: Monitoring Made Easy
Osmius: Monitoring Made Easy
osmius
 
An Introduction To Rational's New Requirements Composer
An Introduction To Rational's New Requirements ComposerAn Introduction To Rational's New Requirements Composer
An Introduction To Rational's New Requirements Composer
OneSpring LLC
 
Itac benoit long deck final eng - feb 12 2013
Itac benoit long deck   final eng - feb 12 2013Itac benoit long deck   final eng - feb 12 2013
Itac benoit long deck final eng - feb 12 2013
KBIZEAU
 
CDP - Global Outlook for Business Intelligence
CDP - Global Outlook for Business IntelligenceCDP - Global Outlook for Business Intelligence
CDP - Global Outlook for Business Intelligence
Vincent Kwon
 
SAP Business Objects Planning and Consolidaton, Version for SAP NetWeaver
SAP Business Objects Planning and Consolidaton, Version for SAP NetWeaverSAP Business Objects Planning and Consolidaton, Version for SAP NetWeaver
SAP Business Objects Planning and Consolidaton, Version for SAP NetWeaver
IBM India Smarter Computing
 
Presentation: Enterprise Architecture design In 3 Minutes or so
Presentation: Enterprise Architecture design In 3 Minutes or soPresentation: Enterprise Architecture design In 3 Minutes or so
Presentation: Enterprise Architecture design In 3 Minutes or so
Adrian Grigoriu
 
Higher education IAM-seminar Turku 10.12.2009
Higher education IAM-seminar Turku 10.12.2009Higher education IAM-seminar Turku 10.12.2009
Higher education IAM-seminar Turku 10.12.2009
Kim Westerlund
 
The Future of Business Applications
The Future of Business ApplicationsThe Future of Business Applications
The Future of Business Applications
OrangeScape
 
Royston's graphic resume pi v2.0
Royston's graphic resume   pi v2.0Royston's graphic resume   pi v2.0
Royston's graphic resume pi v2.0
royston_f01
 
Enterprise Open Cloud Forum: Restructuring IT For Profit in a Cloud World
Enterprise Open Cloud Forum: Restructuring IT For Profit in a Cloud WorldEnterprise Open Cloud Forum: Restructuring IT For Profit in a Cloud World
Enterprise Open Cloud Forum: Restructuring IT For Profit in a Cloud World
Rackspace
 
Enterprise Business on Cloud
Enterprise Business on CloudEnterprise Business on Cloud
Enterprise Business on Cloud
Defiance Technologies Limited
 
Isu
IsuIsu
IBM Global Services: A Clear View Using Component Business Modelling: Custome...
IBM Global Services: A Clear View Using Component Business Modelling: Custome...IBM Global Services: A Clear View Using Component Business Modelling: Custome...
IBM Global Services: A Clear View Using Component Business Modelling: Custome...
Vincent Kwon
 
Ten Tonne Skeleton
Ten Tonne SkeletonTen Tonne Skeleton
Ten Tonne Skeleton
johnfcshaw
 
Business Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationBusiness Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process Innovation
Michael zur Muehlen
 
ModelDR: how to industrialise business reporting
ModelDR: how to industrialise business reportingModelDR: how to industrialise business reporting
ModelDR: how to industrialise business reporting
Greg Soulsby
 
Business Process Configuration in the Cloud: How to Support and Analyze Multi...
Business Process Configuration in the Cloud: How to Support and Analyze Multi...Business Process Configuration in the Cloud: How to Support and Analyze Multi...
Business Process Configuration in the Cloud: How to Support and Analyze Multi...
Wil van der Aalst
 
Business Partner Datastream Arabia, INFOR EAM
Business Partner Datastream Arabia, INFOR EAMBusiness Partner Datastream Arabia, INFOR EAM
Business Partner Datastream Arabia, INFOR EAM
jcvd12
 

Similar to Taming Orchestration Design Using ADORE (20)

Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
 
Isp
IspIsp
Isp
 
Osmius: Monitoring Made Easy
Osmius: Monitoring Made EasyOsmius: Monitoring Made Easy
Osmius: Monitoring Made Easy
 
An Introduction To Rational's New Requirements Composer
An Introduction To Rational's New Requirements ComposerAn Introduction To Rational's New Requirements Composer
An Introduction To Rational's New Requirements Composer
 
Itac benoit long deck final eng - feb 12 2013
Itac benoit long deck   final eng - feb 12 2013Itac benoit long deck   final eng - feb 12 2013
Itac benoit long deck final eng - feb 12 2013
 
CDP - Global Outlook for Business Intelligence
CDP - Global Outlook for Business IntelligenceCDP - Global Outlook for Business Intelligence
CDP - Global Outlook for Business Intelligence
 
SAP Business Objects Planning and Consolidaton, Version for SAP NetWeaver
SAP Business Objects Planning and Consolidaton, Version for SAP NetWeaverSAP Business Objects Planning and Consolidaton, Version for SAP NetWeaver
SAP Business Objects Planning and Consolidaton, Version for SAP NetWeaver
 
Presentation: Enterprise Architecture design In 3 Minutes or so
Presentation: Enterprise Architecture design In 3 Minutes or soPresentation: Enterprise Architecture design In 3 Minutes or so
Presentation: Enterprise Architecture design In 3 Minutes or so
 
Higher education IAM-seminar Turku 10.12.2009
Higher education IAM-seminar Turku 10.12.2009Higher education IAM-seminar Turku 10.12.2009
Higher education IAM-seminar Turku 10.12.2009
 
The Future of Business Applications
The Future of Business ApplicationsThe Future of Business Applications
The Future of Business Applications
 
Royston's graphic resume pi v2.0
Royston's graphic resume   pi v2.0Royston's graphic resume   pi v2.0
Royston's graphic resume pi v2.0
 
Enterprise Open Cloud Forum: Restructuring IT For Profit in a Cloud World
Enterprise Open Cloud Forum: Restructuring IT For Profit in a Cloud WorldEnterprise Open Cloud Forum: Restructuring IT For Profit in a Cloud World
Enterprise Open Cloud Forum: Restructuring IT For Profit in a Cloud World
 
Enterprise Business on Cloud
Enterprise Business on CloudEnterprise Business on Cloud
Enterprise Business on Cloud
 
Isu
IsuIsu
Isu
 
IBM Global Services: A Clear View Using Component Business Modelling: Custome...
IBM Global Services: A Clear View Using Component Business Modelling: Custome...IBM Global Services: A Clear View Using Component Business Modelling: Custome...
IBM Global Services: A Clear View Using Component Business Modelling: Custome...
 
Ten Tonne Skeleton
Ten Tonne SkeletonTen Tonne Skeleton
Ten Tonne Skeleton
 
Business Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationBusiness Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process Innovation
 
ModelDR: how to industrialise business reporting
ModelDR: how to industrialise business reportingModelDR: how to industrialise business reporting
ModelDR: how to industrialise business reporting
 
Business Process Configuration in the Cloud: How to Support and Analyze Multi...
Business Process Configuration in the Cloud: How to Support and Analyze Multi...Business Process Configuration in the Cloud: How to Support and Analyze Multi...
Business Process Configuration in the Cloud: How to Support and Analyze Multi...
 
Business Partner Datastream Arabia, INFOR EAM
Business Partner Datastream Arabia, INFOR EAMBusiness Partner Datastream Arabia, INFOR EAM
Business Partner Datastream Arabia, INFOR EAM
 

More from Sébastien Mosser

A commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptationA commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptation
Sébastien Mosser
 
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach  to Provision Resources in the CloudsTowards CloudML, a Model-Based Approach  to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
Sébastien Mosser
 
Tools For Software Engineering
Tools For Software EngineeringTools For Software Engineering
Tools For Software Engineering
Sébastien Mosser
 
La Thèse ...
La Thèse ...La Thèse ...
La Thèse ...
Sébastien Mosser
 
Cloud Computing: From Revolution to Evolution
Cloud Computing: From Revolution to EvolutionCloud Computing: From Revolution to Evolution
Cloud Computing: From Revolution to Evolution
Sébastien Mosser
 
Introducing Security Access Control Policies into Legacy Business Processes
Introducing Security Access Control Policies into Legacy Business ProcessesIntroducing Security Access Control Policies into Legacy Business Processes
Introducing Security Access Control Policies into Legacy Business Processes
Sébastien Mosser
 
Undoing Event-driven Adaptation of Business Processes
Undoing Event-driven Adaptation of Business ProcessesUndoing Event-driven Adaptation of Business Processes
Undoing Event-driven Adaptation of Business Processes
Sébastien Mosser
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011
Sébastien Mosser
 
jSeduite "Quickies" au Riviera JUG
jSeduite "Quickies" au Riviera JUGjSeduite "Quickies" au Riviera JUG
jSeduite "Quickies" au Riviera JUG
Sébastien Mosser
 
jSeduite @UNICE Foundation
jSeduite @UNICE FoundationjSeduite @UNICE Foundation
jSeduite @UNICE Foundation
Sébastien Mosser
 
Adore Demonstration (AOSD'10)
Adore Demonstration (AOSD'10)Adore Demonstration (AOSD'10)
Adore Demonstration (AOSD'10)
Sébastien Mosser
 
Builsing DSL using MDE
Builsing DSL using MDEBuilsing DSL using MDE
Builsing DSL using MDE
Sébastien Mosser
 
Le Framework jSeduite
Le Framework jSeduiteLe Framework jSeduite
Le Framework jSeduite
Sébastien Mosser
 

More from Sébastien Mosser (14)

A commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptationA commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptation
 
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach  to Provision Resources in the CloudsTowards CloudML, a Model-Based Approach  to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
 
Tools For Software Engineering
Tools For Software EngineeringTools For Software Engineering
Tools For Software Engineering
 
La Thèse ...
La Thèse ...La Thèse ...
La Thèse ...
 
Cloud Computing: From Revolution to Evolution
Cloud Computing: From Revolution to EvolutionCloud Computing: From Revolution to Evolution
Cloud Computing: From Revolution to Evolution
 
Introducing Security Access Control Policies into Legacy Business Processes
Introducing Security Access Control Policies into Legacy Business ProcessesIntroducing Security Access Control Policies into Legacy Business Processes
Introducing Security Access Control Policies into Legacy Business Processes
 
Undoing Event-driven Adaptation of Business Processes
Undoing Event-driven Adaptation of Business ProcessesUndoing Event-driven Adaptation of Business Processes
Undoing Event-driven Adaptation of Business Processes
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011
 
jSeduite "Quickies" au Riviera JUG
jSeduite "Quickies" au Riviera JUGjSeduite "Quickies" au Riviera JUG
jSeduite "Quickies" au Riviera JUG
 
jSeduite @UNICE Foundation
jSeduite @UNICE FoundationjSeduite @UNICE Foundation
jSeduite @UNICE Foundation
 
Adore Demonstration (AOSD'10)
Adore Demonstration (AOSD'10)Adore Demonstration (AOSD'10)
Adore Demonstration (AOSD'10)
 
Builsing DSL using MDE
Builsing DSL using MDEBuilsing DSL using MDE
Builsing DSL using MDE
 
Entrepôt'Lytech JM2L
Entrepôt'Lytech JM2LEntrepôt'Lytech JM2L
Entrepôt'Lytech JM2L
 
Le Framework jSeduite
Le Framework jSeduiteLe Framework jSeduite
Le Framework jSeduite
 

Recently uploaded

คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
Wahiba Chair Training & Consulting
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
NgcHiNguyn25
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 

Recently uploaded (20)

คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 

Taming Orchestration Design Using ADORE

  • 1. TAMING ORCHESTRATION DESIGN COMPLEXITY USING ` Sébastien Mosser* Mireille Blay-Fornarino*& Robert France , ** (*) University of Nice - Sophia Antipolis CNRS / I3S / Modalis Team, France (**) Colorado State University, CS Department Software Assurance Lab, Fort Collins, CO, USA AOM Workshop, Bellairs (Barbados) April, 12th 2010
  • 2. ONCE UPON A TIME ... a Commercial an Architect
  • 3. ONCE UPON A TIME ... « Service Oriented Architecture ( S OA ) i s a b u s i n e s s - c e n t ri c I T architectural approach that supports integrating your business as linked, repeatable business tasks, or services.» (IBM) a Commercial an Architect
  • 4. ONCE UPON A TIME ... « Service Oriented Architecture ( S OA ) i s a b u s i n e s s - c e n t ri c I T architectural approach that supports integrating your business as linked, repeatable business tasks, or services.» (IBM) a Commercial « Ok, so we will build atomic services and then implement business processes to orchestrate them all. It sounds exciting! Let’s go! » an Architect
  • 5. AND THEY ALL LIVED HAPPILY EVER AFTER ... SURE? the (same) Architect the (same)Comm
  • 7. FROM DREAMS ... Receive a Message Invoke Invoke partners Reply a Message business process 5
  • 10. AGENDA • Context: Realizing a CCCMS by designing a SOA • ADORE, in a Nutshell • Algorithms: Weave & Merge • Conflicts: Detection Rules • Quantitative Analysis • Conclusions & Perspectives
  • 11. CONTEXT: REALIZING A CCCMS BY DESIGNING A SOA
  • 12. CASE STUDY: «CAR CRASH CRISIS MANAGEMENT SYSTEM» • TAOSD Special Issue on Aspect Oriented Modeling • Rationale: A common case study to compare AOM approaches • Context: Crisis Management System (CMS) • How to handle a «car crash» crisis? representation of 9
  • 13. OUR APPROACH Given requirements (pdf) Textual Use Cases System Actors as as Business Processes Atomic Services 10
  • 14. EX: «CAPTURE WITNESS REP.» Actors Main Success Scenario Business Extensions 11
  • 15. => REALIZING THE CCCMS ... •8 Main Success Scenario: • e.g., «Capture Witness Report» • 27 Business Extensions: • e.g., «Fake Witness Information» •3 Non-Functional Properties: • i.e., «security», «persistence», «statistical logging» http://www.adore-design.org/doku/examples/cccms 12
  • 16. n ts 8 27 e m Scenarios Business Extensions i re q u Re Car Crash Crisis Management System 3 NF Properties e ss c P ro e ss s in B u
  • 17. n ts 8 27 e m Scenarios Business Extensions i re q u Re Car Crash Crisis Management System 12 «designing» δ Processes 3 NF Properties e ss 12 c Partners P ro e ss s in B u
  • 18. n ts 8 27 e m Scenarios Business Extensions i re q u Re Car Crash Crisis ~ 13 000 Management System Actions 12 «designing» δ Processes 3 «realizing» ρ NF Properties 1216 e ss 12 Activities 895 c Partners Relations P ro e ss ρ in 76 us Operations B
  • 19. n ts 8 27 e m Scenarios Business Extensions i re q u Re Car Crash Crisis ~ 13 000 Management System Actions 12 «designing» δ Processes 3 «realizing» ρ NF Properties 1216 e ss 12 Activities 895 c Partners Relations P ro e ss ρ in 76 Intrinsic us Operations B Parallelism
  • 20. CHALLENGE: «HOW TO TAME THIS COMPLEXITY?» 14
  • 22. RATIONALE TAMING ORCHESTRATION DESIGN COMPLEXITY • Modeler designs incomplete processes (fragments) • Use case (base process) & extensions, NF properties • Algorithms build the final (complete) process • Automatic integration & properties preservation (e.g., orders) 16
  • 23. OUR (META)MODEL Activities Processes Relations Variables 17
  • 25. A FRAMEWORK E -P R - DSL 18
  • 26. A FRAMEWORK -P EL R -E BP G P N L DSL M X 18 Mondrian
  • 29. WEAVE ALGORITHM composition cms::captureWitnessReport { apply callDisconnected => a10; apply callDisconnected => a2; apply requestVideo(user: 'coord') => {a3,a4}; } • Intention: • Integrate fragments into processes • Properties: • Order Independence, Relation Preservation, Block Handling 21
  • 30. WEAVE, BY EXAMPLE ω ω ω Order-Independent Blocks 22
  • 31. WEAVE TECHNIQUE: «THINK, THEN DO» callDisconnected requestVideo cms::captureWitnessReport 23
  • 32. WEAVE TECHNIQUE: «THINK, THEN DO» callDisconnected requestVideo χ actions’ χ actions’’ χ actions’’’ f f’ f’’ cms::captureWitnessReport 23
  • 33. WEAVE TECHNIQUE: «THINK, THEN DO» callDisconnected requestVideo χ actions’ χ actions’’ χ actions’’’ f f’ f’’ ω actions cms::captureWitnessReport 23
  • 34. WEAVE TECHNIQUE: «THINK, THEN DO» callDisconnected requestVideo χ actions’ χ actions’’ χ actions’’’ f f’ f’’ actions cms::captureWitnessReport 23
  • 35. WEAVE TECHNIQUE: «THINK, THEN DO» callDisconnected requestVideo actions’ actions’’ actions’’’ f f’ f’’ cms::captureWitnessReport 23
  • 36. MERGE ALGORITHM composition cms::captureWitnessReport { apply ignoreDisconnection => a4; apply fakeCrisisDetected => a4; } • Intention: • Handle the «Shared Join Point» problem • Properties: • Order Independence, Relation Preservation 24
  • 37. MERGE ALGORITHM μ Shared Join Points Order-Independent 25
  • 38. MERGE TECHNIQUE: «THINK, THEN DO» ! ignoreDisconnection fakeCrisisDetected χ χ f μ f’ actions f’’’ 26
  • 39. THE ALL TOGETHER!! composition cms::captureWitnessReport { apply callDisconnected => a10; apply callDisconnected => a2; apply requestVideo(user: 'coord') => {a3,a4}; apply fakeWitnessInfo => a2a3 apply ignoreDisconnection => a4; apply fakeCrisisDetected => a4; apply fakeCrisisDetected => requestVideo::a3; } 27
  • 40. THE ALL TOGETHER!! Endogenous Parameters Weave composition cms::captureWitnessReport { apply callDisconnected => a10; apply callDisconnected => a2; apply requestVideo(user: 'coord') => {a3,a4}; apply fakeWitnessInfo => a2a3 apply ignoreDisconnection => a4; apply fakeCrisisDetected => a4; Merge apply fakeCrisisDetected => requestVideo::a3; } Multiple Use Fragment on of Fragments Fragment 27
  • 42. OPENING THE BOX χ callDisconnected χ fakeWitnessInfo χ requestVideo χ χ fakeCrisisDetected χ ignoreDisconnection χ 28
  • 43. OPENING THE BOX χ callDisconnected χ fakeWitnessInfo χ requestVideo χ β χ fakeCrisisDetected χ ignoreDisconnection χ 28
  • 44. OPENING THE BOX χ callDisconnected χ fakeWitnessInfo χ requestVideo χ β ω χ fakeCrisisDetected χ μ ignoreDisconnection χ 28
  • 45. OPENING THE BOX χ Endogenous callDisconnected χ fakeWitnessInfo χ requestVideo χ β ω ω χ fakeCrisisDetected χ μ ignoreDisconnection χ captureWitnessReport 28
  • 46. CCCMS SUMMARY Main Success Scenario + Business Extensions Weave Merge Actions 23 5 2422 Previous System + Non Functional Properties Weave Merge Actions + 63 + 33 + 8416 29
  • 47. CONFLICTS: DETECTION RULES «Power is nothing without control» (Günter Kniesel, TR, 2006)
  • 48. FINAL RESULT ... 31 (medium use case)
  • 49. FINAL RESULT ... Equivalent Activities! Incomplete Model! 31 (medium use case)
  • 50. FINAL RESULT ... 31 (medium use case)
  • 51. APPROACH: LOGICAL RULES • Business Process properties defined as logical rules: • e.g., «No Concurrent Ending», «No Equivalent Calls» • Rule set is evaluated at different modeling «phase»: • Fragments (P1), Compositions (P2), Merged (P3), Result (P4) • Reaction to a violation can be different • Can be «just» a Bad-Smell (~) or a definitive Error (X) 32
  • 52. EXISTING RULES Rule P1 & P3 P2 P4 Concurrent Ending X Separation of ~ Equivalent Calls ~ Concerns ~ Lack of Response ~ Model X Design Weaknesses Incompleteness ~ ~ Reflexive Composition X Pointcuts Recursive Composition X Interactions Missing Weave ~ Uninitialized Variable ~ Fragments X Interactions Invocation Cycle ~ ~ 33
  • 53. EXISTING RULES Rule P1 & P3 P2 P4 Concurrent Ending X ~ Equivalent Calls ~ ~ Lack of Response ~ X Design Weaknesses ~ ~ Reflexive Composition X Recursive Composition X Missing Weave ~ Uninitialized Variable ~ X Invocation Cycle ~ ~ 33
  • 54. EXAMPLE: DESIGN WEAKNESSES No incomplete condition isConflicting(Process,Act,Cond,Contrary) :- process(Process), activity:belongsTo(Act,Process), isGuardedBy(_,Act,Cond,Value), invert(Value,Contrary), + isGuardedBy(_,Act,Cond,Contrary). 34
  • 56. Business Extensions Main Success Scenario 36 Non Functional Properties
  • 57. PROCESS COGNITIVE LOAD Parallelism Max. Length Width x Height | Paths | | Activities | • Hypothesis: 37
  • 62. TODAY, I SHOWED YOU ... • The ADORE framework in action • e.g., DSL, Algorithms, Model Transformations • How it tames orchestration design complexity • Using the CCCMS, a common case study • How to ensure quality in composed models • Using a set of logical rules, inference & backtracking 40
  • 63. AND I COULD HAVE SHOWN *... • How to build the complete CCCMS • Running the associated set of composition • How to generate composition directives • Using logical meta-predicates • How to use MONDRIAN to visualize compositions** • Providing (*) demo on a holistic point of view on a given system demand 41 (**) SC‘2010
  • 64. PERSPECTIVES • Structural impact of behav. compositions • Linking ADORE to model composition tools • Conflict rule expressiveness • Defining a DSL to express rules • Write my PhD thesis! • Defend it, and find a postdoc ^_^ 42
  • 65. ANY QUESTIONS? REMARKS? http://www.adore-design.org 43 Illustrations by C.line & sxc.hu

Editor's Notes