SlideShare a Scribd company logo
1 of 63
EMF Workflow
                                    Bryan Hunt
                                 bhunt@mac.com
                          Twitter hashtag: #emfworkflow




Thursday, March 5, 2009
EMF Workflow
                   EMF meta-model for constructing an executable workflow
             ❖

                          Design Model
                   ❖

                          Runtime Model
                   ❖

                   Support
             ❖

                          Generated editor
                   ❖

                          Eclipse launcher for running a workflow
                   ❖




Thursday, March 5, 2009
Workflow Design Model
                                     WorkflowComponent
                                 *




                  WorkflowCompositeComponent       WorkflowUnitOfWork




Thursday, March 5, 2009
Workflow Design Model
                                     WorkflowComponent
                                 *




                  WorkflowCompositeComponent       WorkflowUnitOfWork




Thursday, March 5, 2009
Workflow Design Model
                                          WorkflowComponent
                                      *

                          [ordered]



                  WorkflowCompositeComponent            WorkflowUnitOfWork




Thursday, March 5, 2009
Workflow Design Model
                                          WorkflowComponent                         1
                                      *

                          [ordered]
                                                                           2   3       4       5


                                                                                   6       7
                  WorkflowCompositeComponent            WorkflowUnitOfWork




Thursday, March 5, 2009
Workflow Design Model


                  WorkflowCompositeComponent




Thursday, March 5, 2009
Workflow Design Model


                  WorkflowCompositeComponent       WorkflowCompositeOrchestrationStrategy
                                              1




Thursday, March 5, 2009
Workflow Design Model

                                                   WorkflowSerialOrchestrationStrategy



                  WorkflowCompositeComponent       WorkflowCompositeOrchestrationStrategy
                                              1




Thursday, March 5, 2009
Workflow Design Model

                                                   WorkflowSerialOrchestrationStrategy



                  WorkflowCompositeComponent       WorkflowCompositeOrchestrationStrategy
                                              1



                                                   WorkflowParallelOrchestrationStrategy




Thursday, March 5, 2009
Workflow Design Model

                                   WorkflowSerialOrchestrationStrategy




                                   WorkflowParallelOrchestrationStrategy




Thursday, March 5, 2009
Workflow Design Model

                                                  WorkflowSerialOrchestrationStrategy
                                  1


                          2   3       4       5


                                  6       7
                                                  WorkflowParallelOrchestrationStrategy




Thursday, March 5, 2009
Workflow Design Model

                                                  WorkflowSerialOrchestrationStrategy
                                  1


                          2   3       4       5


                                  6       7
                                                  WorkflowParallelOrchestrationStrategy




Thursday, March 5, 2009
Workflow Design Model

                                                  WorkflowSerialOrchestrationStrategy
                                  1


                          2   3       4       5


                                  6       7
                                                  WorkflowParallelOrchestrationStrategy




Thursday, March 5, 2009
Workflow Design Model


                                  1


                          2   3       4       5


                                  6       7




Thursday, March 5, 2009
Workflow Design Model


                                  1


                          2   3       4       5


                                  6       7




Thursday, March 5, 2009
Workflow Design Model
                                                      2


                                                      3
                                  1


                          2   3       4       5
                                                  6       7
                                  6       7



                                                      5




Thursday, March 5, 2009
Workflow Design Model
                                            2


                                            3




                                        6       7




                                            5




Thursday, March 5, 2009
Workflow Design Model
                            WorkflowComponent       2


                                                   3




                                               6       7




                                                   5




Thursday, March 5, 2009
Workflow Design Model
                                                ✔
                            WorkflowComponent    2


                                                ✔
                                                3




                                               ✔✖
                                               6 7




                                                5




Thursday, March 5, 2009
Workflow Design Model
                                                               ✔
                               WorkflowComponent                2


                                                               ✔
                                      1                        3
                      WorkflowComponentOrchestrationStrategy



                                                              ✔✖
                                                              6 7




                                                               5




Thursday, March 5, 2009
Workflow Design Model
                                                                 ✔
                               WorkflowComponent                  2


                                                                 ✔
                                      1                          3
                      WorkflowComponentOrchestrationStrategy



                                                                ✔✖
                                                                6 7
             WorkflowConditionalComponentOrchestrationStrategy



                                                                 5




Thursday, March 5, 2009
Workflow Design Model
                                                                 ✔
                               WorkflowComponent                  2


                                                                 ✔
                                      1                          3
                      WorkflowComponentOrchestrationStrategy



                                                                ✔✖
                                                                6 7
             WorkflowConditionalComponentOrchestrationStrategy


                                      *
                                                                 5
                            WorkflowExecutionPredicate




Thursday, March 5, 2009
Workflow Design Model
                                                                 ✔
                               WorkflowComponent                  2


                                                                 ✔
                                      1                          3
                      WorkflowComponentOrchestrationStrategy



                                                                ✔✖
                                                                6 7
             WorkflowConditionalComponentOrchestrationStrategy


                                      *
                                                                 5
                            WorkflowExecutionPredicate




                             WorkflowRerunPredicate




Thursday, March 5, 2009
Workflow Design Model
                                                                    ✔
                               WorkflowComponent                     2


                                                                    ✔
                                      1                             3
                      WorkflowComponentOrchestrationStrategy



                                                                ✔
                                                                6       7
             WorkflowConditionalComponentOrchestrationStrategy


                                      *
                                                                    5
                            WorkflowExecutionPredicate




                             WorkflowRerunPredicate




Thursday, March 5, 2009
Workflow Design Model
                                                                    ✔
                               WorkflowComponent                     2


                                                                    ✔
                                      1                             3
                      WorkflowComponentOrchestrationStrategy



                                                                ✔
                                                                6       7
             WorkflowConditionalComponentOrchestrationStrategy


                                      *
                                                                    5
                            WorkflowExecutionPredicate




                             WorkflowRerunPredicate




Thursday, March 5, 2009
Workflow Design Model
                                                                    ✔
                               WorkflowComponent                     2


                                                                    ✔
                                      1                             3
                      WorkflowComponentOrchestrationStrategy



                                                                ✔       ✔
                                                                6       7
             WorkflowConditionalComponentOrchestrationStrategy


                                      *
                                                                    ✔
                                                                    5
                            WorkflowExecutionPredicate




                             WorkflowRerunPredicate




Thursday, March 5, 2009
Workflow Design Model
                                            2


                                            3




                                        6       7




                                            5




Thursday, March 5, 2009
Workflow Design Model
                                                                             Input
                                WorkflowComponent
                            *                                        2


                                                                     3

          WorkflowCompositeComponent          WorkflowUnitOfWork

                                                                 6       7




                                                                     5




Thursday, March 5, 2009
Workflow Design Model
                                                                             Input
                                WorkflowComponent
                            *                                        2


                                                                     3

          WorkflowCompositeComponent          WorkflowUnitOfWork

                                                                 6       7

                                                    *
                                             WorkflowParameter

                                                                     5




Thursday, March 5, 2009
Workflow Design Model
                                                                             Input
                                WorkflowComponent
                            *                                        2
                                                                             Output
                                                                     3

          WorkflowCompositeComponent          WorkflowUnitOfWork

                                                                 6       7

                                                    *
                                             WorkflowParameter

                                                                     5




Thursday, March 5, 2009
Workflow Design Model
                                                                                Input
                                   WorkflowComponent
                               *                                        2
                                                                                Output
                                                                        3

          WorkflowCompositeComponent             WorkflowUnitOfWork

                                                                    6       7

                                                       *
                           *
                                                WorkflowParameter
           WorkflowParameterConnection

                                                                        5




Thursday, March 5, 2009
Workflow Design Model
                                                                                Input
                                   WorkflowComponent
                               *                                        2
                                                                                Output
                                                                        3

          WorkflowCompositeComponent             WorkflowUnitOfWork

                                                                    6       7

                                                       *
                                                  *
                           *
                                                WorkflowParameter
           WorkflowParameterConnection

                                                                        5




Thursday, March 5, 2009
Workflow Runtime Model
                                          Input

                                     ✔
                                     2
                                          Output
                                     ✔
                                     3




                                    ✔✖
                                    6 7




                                     5




Thursday, March 5, 2009
Workflow Runtime Model
                                         Input

                                     ✔
                                         Output
                                     ✔

                                    ✔✖




Thursday, March 5, 2009
Workflow Runtime Model
                                                                            Input

                                                                       ✔
                                                                            Output
                                                                       ✔
                                                        EObject
                                     WorkflowParameter
                                 *

                WorkflowContext


                                                                       ✔✖
                                                        WorkflowState
                                     WorkflowComponent
                                 *




Thursday, March 5, 2009
EMF Workflow Engine
                                                                                        EObject
                                                                     WorkflowParameter
                                                                 *

                                              WorkflowContext
                                                      1
                                                                                        WorkflowState
                                                                     WorkflowComponent
                                                                 *

                                              WorkflowEngine



                                                      1
                                             WorkflowComponent
                                         *




                          WorkflowCompositeComponent       WorkflowUnitOfWork




Thursday, March 5, 2009
Hello World Example
                              x

                                  concat(x, y)   z

                              y




Thursday, March 5, 2009
Hello World Example
                                x

                                     concat(x, y)   z

                                y




                             Hello

                                     concat(x, y)   Hello world

                             world




Thursday, March 5, 2009
Hello World Example
                           WorkflowUnitOfWork




Thursday, March 5, 2009
Hello World Example
                           WorkflowUnitOfWork




                                Concat




Thursday, March 5, 2009
Hello World Example
                           WorkflowUnitOfWork




                                               *
                                Concat         WorkflowParameter




Thursday, March 5, 2009
Hello World Example
                           WorkflowUnitOfWork




                                                                 *
                                Concat                           WorkflowParameter
                                                  inputMessage
                                           inputAppendMessage
                                                 outputMessage




Thursday, March 5, 2009
Hello World Example
                                    WorkflowUnitOfWork




                                                                              *
                                           Concat                             WorkflowParameter
                                                               inputMessage
                                                        inputAppendMessage
                                                              outputMessage




                          @Override
                          public WorkflowState run(WorkflowContext context) throws WorkflowRuntimeException
                          {
                          	   StringBuilder message = new StringBuilder();
                          	   message.append(getInputMessage().getValue(context));
                          	   	
                          	   if(message.length() > 0)
                          	   	    message.append(' ');
                          	   	
                          	   message.append(getInputAppendMessage().getValue(context));
                          	   getOutputMessage().setValue(context, message.toString());
                          	   System.out.println(message.toString());
                          	   	
                          	   return StateFactory.eINSTANCE.createWorkflowSuccessState();
                          }




Thursday, March 5, 2009
Hello World Example



                            WorkflowCompositeComponent




Thursday, March 5, 2009
Hello World Example

                                     stageA :
                                     Concat




                            WorkflowCompositeComponent




Thursday, March 5, 2009
Hello World Example
               WorkflowComponentOrchestrationStrategy


                                             stageA :
                                             Concat




                                   WorkflowCompositeComponent




Thursday, March 5, 2009
Hello World Example
                                                                inputMessageA :
               WorkflowComponentOrchestrationStrategy
                                                               WorkflowParameter

                                             stageA :
                                             Concat




                                   WorkflowCompositeComponent




Thursday, March 5, 2009
Hello World Example
                                                                  inputMessageA :
               WorkflowComponentOrchestrationStrategy
                                                                 WorkflowParameter

                                             stageA :          inputAppendMessageA :
                                             Concat              WorkflowParameter




                                   WorkflowCompositeComponent




Thursday, March 5, 2009
Hello World Example
                                                                  inputMessageA :
               WorkflowComponentOrchestrationStrategy
                                                                 WorkflowParameter

                                             stageA :          inputAppendMessageA :
                                             Concat              WorkflowParameter

                                                                 outputMessageA :
                                                                 WorkflowParameter



                                   WorkflowCompositeComponent




Thursday, March 5, 2009
Hello World Example
                                                                  inputMessageA :
               WorkflowComponentOrchestrationStrategy
                                                                 WorkflowParameter

                                             stageA :          inputAppendMessageA :
                                             Concat              WorkflowParameter

                                                                 outputMessageA :
                                                                 WorkflowParameter



                                   WorkflowCompositeComponent


                                                                  inputMessageB :
                                                                 WorkflowParameter

                                             stageB :          inputAppendMessageB :
                                              Concat             WorkflowParameter

                                                                 outputMessageB :
              WorkflowComponentOrchestrationStrategy
                                                                 WorkflowParameter



Thursday, March 5, 2009
Hello World Example
                                                                    inputMessageA :
               WorkflowComponentOrchestrationStrategy
                                                                   WorkflowParameter

                                             stageA :            inputAppendMessageA :
                                             Concat                WorkflowParameter

                                                                   outputMessageA :
                                                                   WorkflowParameter



                                   WorkflowCompositeComponent   WorkflowParameterConnection


                                                                    inputMessageB :
                                                                   WorkflowParameter

                                             stageB :            inputAppendMessageB :
                                              Concat               WorkflowParameter

                                                                   outputMessageB :
              WorkflowComponentOrchestrationStrategy
                                                                   WorkflowParameter



Thursday, March 5, 2009
Hello World Example
                                                                     inputMessageA :
               WorkflowComponentOrchestrationStrategy
                                                                    WorkflowParameter

                                              stageA :            inputAppendMessageA :
                                              Concat                WorkflowParameter

                                                                    outputMessageA :
              WorkflowSerialOrchestrationStrategy                    WorkflowParameter



                                    WorkflowCompositeComponent   WorkflowParameterConnection


                                                                     inputMessageB :
                                                                    WorkflowParameter

                                              stageB :            inputAppendMessageB :
                                               Concat               WorkflowParameter

                                                                    outputMessageB :
              WorkflowComponentOrchestrationStrategy
                                                                    WorkflowParameter



Thursday, March 5, 2009
Hello World Example
                                                                     inputMessageA :
               WorkflowComponentOrchestrationStrategy
                                                                    WorkflowParameter

                                                 stageA :         inputAppendMessageA :
                                                 Concat             WorkflowParameter

                                                                    outputMessageA :
              WorkflowSerialOrchestrationStrategy                    WorkflowParameter



                                    WorkflowCompositeComponent   WorkflowParameterConnection


                                                                     inputMessageB :
                WorkflowStateResolutionStrategy                      WorkflowParameter

                                                 stageB :         inputAppendMessageB :
                                                  Concat            WorkflowParameter

                                                                    outputMessageB :
              WorkflowComponentOrchestrationStrategy
                                                                    WorkflowParameter



Thursday, March 5, 2009
Hello World Example
                                                                        Hello :
                                               inputMessageA :
                                              WorkflowParameter
                                                                    SimpleAnyType


                                                                      worlflow :
                                            inputAppendMessageA :
                                              WorkflowParameter
                                                                    SimpleAnyType


                                              outputMessageA :
                                                                    SimpleAnyType
                                              WorkflowParameter


                           WorkflowContext
                                               inputMessageB :
                                                                    SimpleAnyType
                                              WorkflowParameter




                                                                       world :
                                            inputAppendMessageB :
                                              WorkflowParameter
                                                                    SimpleAnyType


                                              outputMessageB :
                                                                    SimpleAnyType
                                              WorkflowParameter




Thursday, March 5, 2009
Hello World Example


                                   A


                                   B




Thursday, March 5, 2009
Hello World Example

                               workflow       Hello
                                         A


                                         B




Thursday, March 5, 2009
Hello World Example

                               workflow           Hello
                                         A
                                             Hello workflow
                                         B




Thursday, March 5, 2009
Hello World Example

                               workflow           Hello
                                         A
                                             Hello workflow
                                         B




Thursday, March 5, 2009
Hello World Example

                               workflow           Hello
                                         A
                                world        Hello workflow
                                         B




Thursday, March 5, 2009
Hello World Example

                               workflow              Hello
                                         A
                                world           Hello workflow
                                         B

                                             Hello workflow world




Thursday, March 5, 2009
Resources
                   CVS
             ❖

                   ❖      dev.eclipse.org/cvsroot/modeling/org.eclipse.emf/org.eclipse.mwe

                          ❖   /plugins : workflow model

                              ❖   org.eclipse.mwe.ewm.*

                          ❖   /examples : hello world example

                              ❖   org.eclipse.mwe.ewm.examples

                   Screencast: http://idisk.mac.com/bhunt-Public/WorkflowTutorial.mov
             ❖




Thursday, March 5, 2009
Thank You



Thursday, March 5, 2009

More Related Content

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

EMF Workflow Model

  • 1. EMF Workflow Bryan Hunt bhunt@mac.com Twitter hashtag: #emfworkflow Thursday, March 5, 2009
  • 2. EMF Workflow EMF meta-model for constructing an executable workflow ❖ Design Model ❖ Runtime Model ❖ Support ❖ Generated editor ❖ Eclipse launcher for running a workflow ❖ Thursday, March 5, 2009
  • 3. Workflow Design Model WorkflowComponent * WorkflowCompositeComponent WorkflowUnitOfWork Thursday, March 5, 2009
  • 4. Workflow Design Model WorkflowComponent * WorkflowCompositeComponent WorkflowUnitOfWork Thursday, March 5, 2009
  • 5. Workflow Design Model WorkflowComponent * [ordered] WorkflowCompositeComponent WorkflowUnitOfWork Thursday, March 5, 2009
  • 6. Workflow Design Model WorkflowComponent 1 * [ordered] 2 3 4 5 6 7 WorkflowCompositeComponent WorkflowUnitOfWork Thursday, March 5, 2009
  • 7. Workflow Design Model WorkflowCompositeComponent Thursday, March 5, 2009
  • 8. Workflow Design Model WorkflowCompositeComponent WorkflowCompositeOrchestrationStrategy 1 Thursday, March 5, 2009
  • 9. Workflow Design Model WorkflowSerialOrchestrationStrategy WorkflowCompositeComponent WorkflowCompositeOrchestrationStrategy 1 Thursday, March 5, 2009
  • 10. Workflow Design Model WorkflowSerialOrchestrationStrategy WorkflowCompositeComponent WorkflowCompositeOrchestrationStrategy 1 WorkflowParallelOrchestrationStrategy Thursday, March 5, 2009
  • 11. Workflow Design Model WorkflowSerialOrchestrationStrategy WorkflowParallelOrchestrationStrategy Thursday, March 5, 2009
  • 12. Workflow Design Model WorkflowSerialOrchestrationStrategy 1 2 3 4 5 6 7 WorkflowParallelOrchestrationStrategy Thursday, March 5, 2009
  • 13. Workflow Design Model WorkflowSerialOrchestrationStrategy 1 2 3 4 5 6 7 WorkflowParallelOrchestrationStrategy Thursday, March 5, 2009
  • 14. Workflow Design Model WorkflowSerialOrchestrationStrategy 1 2 3 4 5 6 7 WorkflowParallelOrchestrationStrategy Thursday, March 5, 2009
  • 15. Workflow Design Model 1 2 3 4 5 6 7 Thursday, March 5, 2009
  • 16. Workflow Design Model 1 2 3 4 5 6 7 Thursday, March 5, 2009
  • 17. Workflow Design Model 2 3 1 2 3 4 5 6 7 6 7 5 Thursday, March 5, 2009
  • 18. Workflow Design Model 2 3 6 7 5 Thursday, March 5, 2009
  • 19. Workflow Design Model WorkflowComponent 2 3 6 7 5 Thursday, March 5, 2009
  • 20. Workflow Design Model ✔ WorkflowComponent 2 ✔ 3 ✔✖ 6 7 5 Thursday, March 5, 2009
  • 21. Workflow Design Model ✔ WorkflowComponent 2 ✔ 1 3 WorkflowComponentOrchestrationStrategy ✔✖ 6 7 5 Thursday, March 5, 2009
  • 22. Workflow Design Model ✔ WorkflowComponent 2 ✔ 1 3 WorkflowComponentOrchestrationStrategy ✔✖ 6 7 WorkflowConditionalComponentOrchestrationStrategy 5 Thursday, March 5, 2009
  • 23. Workflow Design Model ✔ WorkflowComponent 2 ✔ 1 3 WorkflowComponentOrchestrationStrategy ✔✖ 6 7 WorkflowConditionalComponentOrchestrationStrategy * 5 WorkflowExecutionPredicate Thursday, March 5, 2009
  • 24. Workflow Design Model ✔ WorkflowComponent 2 ✔ 1 3 WorkflowComponentOrchestrationStrategy ✔✖ 6 7 WorkflowConditionalComponentOrchestrationStrategy * 5 WorkflowExecutionPredicate WorkflowRerunPredicate Thursday, March 5, 2009
  • 25. Workflow Design Model ✔ WorkflowComponent 2 ✔ 1 3 WorkflowComponentOrchestrationStrategy ✔ 6 7 WorkflowConditionalComponentOrchestrationStrategy * 5 WorkflowExecutionPredicate WorkflowRerunPredicate Thursday, March 5, 2009
  • 26. Workflow Design Model ✔ WorkflowComponent 2 ✔ 1 3 WorkflowComponentOrchestrationStrategy ✔ 6 7 WorkflowConditionalComponentOrchestrationStrategy * 5 WorkflowExecutionPredicate WorkflowRerunPredicate Thursday, March 5, 2009
  • 27. Workflow Design Model ✔ WorkflowComponent 2 ✔ 1 3 WorkflowComponentOrchestrationStrategy ✔ ✔ 6 7 WorkflowConditionalComponentOrchestrationStrategy * ✔ 5 WorkflowExecutionPredicate WorkflowRerunPredicate Thursday, March 5, 2009
  • 28. Workflow Design Model 2 3 6 7 5 Thursday, March 5, 2009
  • 29. Workflow Design Model Input WorkflowComponent * 2 3 WorkflowCompositeComponent WorkflowUnitOfWork 6 7 5 Thursday, March 5, 2009
  • 30. Workflow Design Model Input WorkflowComponent * 2 3 WorkflowCompositeComponent WorkflowUnitOfWork 6 7 * WorkflowParameter 5 Thursday, March 5, 2009
  • 31. Workflow Design Model Input WorkflowComponent * 2 Output 3 WorkflowCompositeComponent WorkflowUnitOfWork 6 7 * WorkflowParameter 5 Thursday, March 5, 2009
  • 32. Workflow Design Model Input WorkflowComponent * 2 Output 3 WorkflowCompositeComponent WorkflowUnitOfWork 6 7 * * WorkflowParameter WorkflowParameterConnection 5 Thursday, March 5, 2009
  • 33. Workflow Design Model Input WorkflowComponent * 2 Output 3 WorkflowCompositeComponent WorkflowUnitOfWork 6 7 * * * WorkflowParameter WorkflowParameterConnection 5 Thursday, March 5, 2009
  • 34. Workflow Runtime Model Input ✔ 2 Output ✔ 3 ✔✖ 6 7 5 Thursday, March 5, 2009
  • 35. Workflow Runtime Model Input ✔ Output ✔ ✔✖ Thursday, March 5, 2009
  • 36. Workflow Runtime Model Input ✔ Output ✔ EObject WorkflowParameter * WorkflowContext ✔✖ WorkflowState WorkflowComponent * Thursday, March 5, 2009
  • 37. EMF Workflow Engine EObject WorkflowParameter * WorkflowContext 1 WorkflowState WorkflowComponent * WorkflowEngine 1 WorkflowComponent * WorkflowCompositeComponent WorkflowUnitOfWork Thursday, March 5, 2009
  • 38. Hello World Example x concat(x, y) z y Thursday, March 5, 2009
  • 39. Hello World Example x concat(x, y) z y Hello concat(x, y) Hello world world Thursday, March 5, 2009
  • 40. Hello World Example WorkflowUnitOfWork Thursday, March 5, 2009
  • 41. Hello World Example WorkflowUnitOfWork Concat Thursday, March 5, 2009
  • 42. Hello World Example WorkflowUnitOfWork * Concat WorkflowParameter Thursday, March 5, 2009
  • 43. Hello World Example WorkflowUnitOfWork * Concat WorkflowParameter inputMessage inputAppendMessage outputMessage Thursday, March 5, 2009
  • 44. Hello World Example WorkflowUnitOfWork * Concat WorkflowParameter inputMessage inputAppendMessage outputMessage @Override public WorkflowState run(WorkflowContext context) throws WorkflowRuntimeException { StringBuilder message = new StringBuilder(); message.append(getInputMessage().getValue(context)); if(message.length() > 0) message.append(' '); message.append(getInputAppendMessage().getValue(context)); getOutputMessage().setValue(context, message.toString()); System.out.println(message.toString()); return StateFactory.eINSTANCE.createWorkflowSuccessState(); } Thursday, March 5, 2009
  • 45. Hello World Example WorkflowCompositeComponent Thursday, March 5, 2009
  • 46. Hello World Example stageA : Concat WorkflowCompositeComponent Thursday, March 5, 2009
  • 47. Hello World Example WorkflowComponentOrchestrationStrategy stageA : Concat WorkflowCompositeComponent Thursday, March 5, 2009
  • 48. Hello World Example inputMessageA : WorkflowComponentOrchestrationStrategy WorkflowParameter stageA : Concat WorkflowCompositeComponent Thursday, March 5, 2009
  • 49. Hello World Example inputMessageA : WorkflowComponentOrchestrationStrategy WorkflowParameter stageA : inputAppendMessageA : Concat WorkflowParameter WorkflowCompositeComponent Thursday, March 5, 2009
  • 50. Hello World Example inputMessageA : WorkflowComponentOrchestrationStrategy WorkflowParameter stageA : inputAppendMessageA : Concat WorkflowParameter outputMessageA : WorkflowParameter WorkflowCompositeComponent Thursday, March 5, 2009
  • 51. Hello World Example inputMessageA : WorkflowComponentOrchestrationStrategy WorkflowParameter stageA : inputAppendMessageA : Concat WorkflowParameter outputMessageA : WorkflowParameter WorkflowCompositeComponent inputMessageB : WorkflowParameter stageB : inputAppendMessageB : Concat WorkflowParameter outputMessageB : WorkflowComponentOrchestrationStrategy WorkflowParameter Thursday, March 5, 2009
  • 52. Hello World Example inputMessageA : WorkflowComponentOrchestrationStrategy WorkflowParameter stageA : inputAppendMessageA : Concat WorkflowParameter outputMessageA : WorkflowParameter WorkflowCompositeComponent WorkflowParameterConnection inputMessageB : WorkflowParameter stageB : inputAppendMessageB : Concat WorkflowParameter outputMessageB : WorkflowComponentOrchestrationStrategy WorkflowParameter Thursday, March 5, 2009
  • 53. Hello World Example inputMessageA : WorkflowComponentOrchestrationStrategy WorkflowParameter stageA : inputAppendMessageA : Concat WorkflowParameter outputMessageA : WorkflowSerialOrchestrationStrategy WorkflowParameter WorkflowCompositeComponent WorkflowParameterConnection inputMessageB : WorkflowParameter stageB : inputAppendMessageB : Concat WorkflowParameter outputMessageB : WorkflowComponentOrchestrationStrategy WorkflowParameter Thursday, March 5, 2009
  • 54. Hello World Example inputMessageA : WorkflowComponentOrchestrationStrategy WorkflowParameter stageA : inputAppendMessageA : Concat WorkflowParameter outputMessageA : WorkflowSerialOrchestrationStrategy WorkflowParameter WorkflowCompositeComponent WorkflowParameterConnection inputMessageB : WorkflowStateResolutionStrategy WorkflowParameter stageB : inputAppendMessageB : Concat WorkflowParameter outputMessageB : WorkflowComponentOrchestrationStrategy WorkflowParameter Thursday, March 5, 2009
  • 55. Hello World Example Hello : inputMessageA : WorkflowParameter SimpleAnyType worlflow : inputAppendMessageA : WorkflowParameter SimpleAnyType outputMessageA : SimpleAnyType WorkflowParameter WorkflowContext inputMessageB : SimpleAnyType WorkflowParameter world : inputAppendMessageB : WorkflowParameter SimpleAnyType outputMessageB : SimpleAnyType WorkflowParameter Thursday, March 5, 2009
  • 56. Hello World Example A B Thursday, March 5, 2009
  • 57. Hello World Example workflow Hello A B Thursday, March 5, 2009
  • 58. Hello World Example workflow Hello A Hello workflow B Thursday, March 5, 2009
  • 59. Hello World Example workflow Hello A Hello workflow B Thursday, March 5, 2009
  • 60. Hello World Example workflow Hello A world Hello workflow B Thursday, March 5, 2009
  • 61. Hello World Example workflow Hello A world Hello workflow B Hello workflow world Thursday, March 5, 2009
  • 62. Resources CVS ❖ ❖ dev.eclipse.org/cvsroot/modeling/org.eclipse.emf/org.eclipse.mwe ❖ /plugins : workflow model ❖ org.eclipse.mwe.ewm.* ❖ /examples : hello world example ❖ org.eclipse.mwe.ewm.examples Screencast: http://idisk.mac.com/bhunt-Public/WorkflowTutorial.mov ❖ Thursday, March 5, 2009

Editor's Notes