Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ServiceWave 2010<br />A Chemical Based Middleware for Workflow Instantiation and Execution<br />Chen WANG1, Jean-Louis PAZ...
Outline:<br /><ul><li>Introduction
 Middleware Architecture
 Workflow Instantiation & Execution
 Implementation
 Conclusion & Future Work</li></ul>ServiceWave 2010<br />13-15 December 2010<br />
Introduction<br />ServiceWave 2010<br />13-15 December 2010<br />
Background<br />Publish<br />Find<br /><ul><li> SOA (Service-Oriented Architecture)
 A concept of large distributed system;
 A paradigm/concept/perspective
 Purpose: realize and maintain business processes that span large distributed systems;
 Web Service
 A way to realize the technical aspects of SOA;
 Definition (W3C): a software system designed to support interoperable machine-to-machine interaction over a network.
A Web Services architecture then requires three fundamental operations: publish, find, and bind. Service providers publish...
Contributions<br /><ul><li> Middleware for
  Service Selection:
 All the partner services are selected at run-time;
 The selection is based on the global QoS constraints;
  Workflow Execution*:
 The execution is decentralized;
 Proposed by IRISA/INRIA (H. FERNANDEZ, C.TEDESCHI and T.PRIOL);
 Integrated into our system;
 Distribute the Implementation using Chemical Computing:
Unconventional computing paradigm;
 Automated/parallel/self-coordinated computing </li></ul>13-15 December 2010<br />ServiceWave 2010<br />
Global Architecture<br />Middleware Layer<br />Abstract Business Process<br />Registry<br />AS1<br />AS3<br />Workflow <br...
Middleware Architecture<br />ServiceWave 2010<br />13-15 December 2010<br />
Middleware Architecture<br />Middleware Layer<br />Web Service Execution Level<br />Registry<br />Publish Information of a...
Abstract Web Service<br /><ul><li> Abstract Web Service
 Description of functional interface;
 Middleware level role: service provider;
Connect to a concrete service in order to forward the invocation message;
 Act as the representative of a concrete service in the middleware;
 Invoker
Connector between the abstract service and the concrete one;
 Forward the invocation message to the concrete service;
 Retrieve the calculation result from the concrete service;
 Concrete Web Service
 Implementation of functional interfaces;
 Atomic service (Java)/composite service (WS-BPEL)  </li></ul>Abstract WS1<br />WS1_Invoker<br />Concrete WS1<br />13-15 D...
Abstract Business Process<br /><ul><li> Abstract Definition of workflow
 Description of workflow topology using a directed graph;
 Node: activity/task, edge: dependency
 Collection of interrelated activities/tasks to achieve the ultimate business goal;
 Each workflow activity/task specifies only functional requirement, but no binding information;
 Middleware level role: service provider & consumer
 QoS Constraints Over the Entire Workflow
 Global Non-functional parameters can be aggregated (aggregated price can be added and the aggregated availability can be ...
 The same abstract workflow + different global QoS Constraints = different concrete workflow (Instantiation process: comin...
Instantiation Component<br /><ul><li> Input:
Upcoming SlideShare
Loading in …5
×

Chen Wang, Pazat, Di Napoli, Giordano: A Chemical Based Middleware for Workflow Instantiation and Execution

1,184 views

Published on

Chen Wang, Pazat, Di Napoli, Giordano: A Chemical Based Middleware for Workflow Instantiation and Execution

  • Be the first to comment

  • Be the first to like this

Chen Wang, Pazat, Di Napoli, Giordano: A Chemical Based Middleware for Workflow Instantiation and Execution

  1. 1. ServiceWave 2010<br />A Chemical Based Middleware for Workflow Instantiation and Execution<br />Chen WANG1, Jean-Louis PAZAT1,<br />Claudia DI NAPOLI2, Maurizio GIORDANO2<br />1Université Européenne de Bretagne, INSA/INRIA/IRISA, F-35708 Rennes, France<br />2Istituto di Cibernetica CNR, Via Campi Flegrei 34, 80078 Pozzuoli, Naples, Italy<br />15th December 2010 @ Gent, Belgium <br />ServiceWave 2010 <br />13-15 December 2010<br />
  2. 2. Outline:<br /><ul><li>Introduction
  3. 3. Middleware Architecture
  4. 4. Workflow Instantiation & Execution
  5. 5. Implementation
  6. 6. Conclusion & Future Work</li></ul>ServiceWave 2010<br />13-15 December 2010<br />
  7. 7. Introduction<br />ServiceWave 2010<br />13-15 December 2010<br />
  8. 8. Background<br />Publish<br />Find<br /><ul><li> SOA (Service-Oriented Architecture)
  9. 9. A concept of large distributed system;
  10. 10. A paradigm/concept/perspective
  11. 11. Purpose: realize and maintain business processes that span large distributed systems;
  12. 12. Web Service
  13. 13. A way to realize the technical aspects of SOA;
  14. 14. Definition (W3C): a software system designed to support interoperable machine-to-machine interaction over a network.
  15. 15. A Web Services architecture then requires three fundamental operations: publish, find, and bind. Service providers publish services to a service broker. Service requesters find required services using a service broker and bind to them. These ideas are shown in the following figure.</li></ul>Bind<br />Web services architecture.<br />13-15 December 2010<br />ServiceWave 2010<br />
  16. 16. Contributions<br /><ul><li> Middleware for
  17. 17. Service Selection:
  18. 18. All the partner services are selected at run-time;
  19. 19. The selection is based on the global QoS constraints;
  20. 20. Workflow Execution*:
  21. 21. The execution is decentralized;
  22. 22. Proposed by IRISA/INRIA (H. FERNANDEZ, C.TEDESCHI and T.PRIOL);
  23. 23. Integrated into our system;
  24. 24. Distribute the Implementation using Chemical Computing:
  25. 25. Unconventional computing paradigm;
  26. 26. Automated/parallel/self-coordinated computing </li></ul>13-15 December 2010<br />ServiceWave 2010<br />
  27. 27. Global Architecture<br />Middleware Layer<br />Abstract Business Process<br />Registry<br />AS1<br />AS3<br />Workflow <br />Instantiation<br />AS2<br />Abstract Service<br />Web Service<br />Grid Service<br />Grid Service<br />Concrete Service<br />Business Process<br />13-15 December 2010<br />ServiceWave 2010<br />
  28. 28. Middleware Architecture<br />ServiceWave 2010<br />13-15 December 2010<br />
  29. 29. Middleware Architecture<br />Middleware Layer<br />Web Service Execution Level<br />Registry<br />Publish Information of all offers provided by Abstract Services <br />Monitoring/Rating Module<br />Workflow Instantiation<br />The 3rd party component, exposed as a service, to monitor the execution process of a workflow.<br />- Input: an Abstract workflow<br />- Output: a Concrete Workflow<br />(Execution Plan)<br />Web Service Representation Level<br />Abstract WSn<br />Abstract WS1<br />…<br />…<br />Abstract Business Processm<br />Abstract Business Process1<br />WSn_Invoker<br />WS1_Invoker<br />Definition of Abstract WF<br />Definition of Abstract WF<br />…<br />Concrete WS1<br />Concrete WSn<br />13-15 December 2010<br />ServiceWave 2010<br />
  30. 30. Abstract Web Service<br /><ul><li> Abstract Web Service
  31. 31. Description of functional interface;
  32. 32. Middleware level role: service provider;
  33. 33. Connect to a concrete service in order to forward the invocation message;
  34. 34. Act as the representative of a concrete service in the middleware;
  35. 35. Invoker
  36. 36. Connector between the abstract service and the concrete one;
  37. 37. Forward the invocation message to the concrete service;
  38. 38. Retrieve the calculation result from the concrete service;
  39. 39. Concrete Web Service
  40. 40. Implementation of functional interfaces;
  41. 41. Atomic service (Java)/composite service (WS-BPEL) </li></ul>Abstract WS1<br />WS1_Invoker<br />Concrete WS1<br />13-15 December 2010<br />ServiceWave 2010<br />
  42. 42. Abstract Business Process<br /><ul><li> Abstract Definition of workflow
  43. 43. Description of workflow topology using a directed graph;
  44. 44. Node: activity/task, edge: dependency
  45. 45. Collection of interrelated activities/tasks to achieve the ultimate business goal;
  46. 46. Each workflow activity/task specifies only functional requirement, but no binding information;
  47. 47. Middleware level role: service provider & consumer
  48. 48. QoS Constraints Over the Entire Workflow
  49. 49. Global Non-functional parameters can be aggregated (aggregated price can be added and the aggregated availability can be multiplied)
  50. 50. The same abstract workflow + different global QoS Constraints = different concrete workflow (Instantiation process: coming slide) </li></ul>Abstract Business Processm<br />Definition of Abstract WF<br />13-15 December 2010<br />ServiceWave 2010<br />
  51. 51. Instantiation Component<br /><ul><li> Input:
  52. 52. Abstract workflow definition;
  53. 53. Global QoS constraints (total price & execution time);
  54. 54. Output:
  55. 55. Concrete/Instantiated workflow: Abstract workflow + endpoint reference bindings;
  56. 56. Instantiation Process:
  57. 57. Coming section.</li></ul>Workflow Instantiation<br />- Input: an Abstract workflow<br />- Output: a Concrete Workflow<br />(Execution Plan)<br />13-15 December 2010<br />ServiceWave 2010<br />
  58. 58. Registry<br />Registry<br />Publish Information of all offers provided by Abstract Services <br /><ul><li> Directory maintaining all offers
  59. 59. offer: simple contract between service provider and requester;
  60. 60. Offer specifies 4 aspects:
  61. 61. ID of service provider;
  62. 62. Offer name;
  63. 63. Functional and
  64. 64. Non-functional characteristics of a service delivery
  65. 65. Example:
  66. 66. “inter_flight_reservation” offer is provided by “Air France” for reserving international airline tickets, the average response time is 5 seconds, the availability is 99%.</li></ul>13-15 December 2010<br />ServiceWave 2010<br />
  67. 67. Workflow Instantiation & Execution Process <br />13-15 December 2010<br />ServiceWave 2010<br />
  68. 68. Web Service Invocation<br />Middleware Layer<br />Service Invocation Message<br />(with parameters)<br />Abstract BP (SPA)<br />P<br />Q<br />s1<br />s2<br />s3<br />s4<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  69. 69. Forward Abstract WF to Instantiation<br />Middleware Layer<br />Workflow Instantiation<br />Abstract BP (SPA)<br />Send Workflow<br />P<br />Q<br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  70. 70. Look For Appropriate Offers<br />Middleware Layer<br />Workflow Instantiation<br />Demand Offers<br />I look for the service providers that deliver the functionalities s1, s2, s3, s4 and s5.<br />Registry<br />Publish Information of all Abstract Web Services <br />Abstract BP (SPA)<br />P<br />Q<br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  71. 71. Return Qualified Offers<br />Middleware Layer<br />Workflow Instantiation<br />Qualified Offers<br />Registry<br />Publish Information of all Abstract Web Services <br />Abstract BP (SPA)<br />P<br />Q<br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  72. 72. Associate Offers to Activities<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(0,2)<br />(1,5) <br />(2,4)<br />(1,6)<br />(4,5)<br />Registry<br />(4,6)<br />(5,7)<br />Publish Information of all Abstract Web Services <br />(6,7)<br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />P<br />Q<br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  73. 73. Non-functional Property<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(0,2)<br />(1,5) <br />(2,4)<br />(1,6)<br />(4,5)<br />Registry<br />(4,6)<br />(5,7)<br />Publish Information of all Abstract Web Services <br />(6,7)<br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />P<br />Q<br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  74. 74. Workflow Fragment<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(0,2)<br />(2,4)<br />(1,5) <br />(1,6)<br />(4,5)<br />Registry<br />(4,6)<br />(5,7)<br />Publish Information of all Abstract Web Services <br />(6,7)<br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />P<br />Q<br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  75. 75. QoS Constraints<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(0,2)<br />(2,4)<br />(1,5) <br />(1,6)<br />(4,5)<br />Registry<br />(4,6)<br />(5,7)<br />Publish Information of all Abstract Web Services <br />(6,7)<br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />P<br />Q<br />Constraint:<br />The execution duration of two consecutive nodes has no Intersection. <br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  76. 76. Branch Instantiation<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(0,2)<br />(1,6)<br />(4,5)<br />Registry<br />Publish Information of all Abstract Web Services <br />(6,7)<br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />(2,6)<br />(1,7) <br />P<br />Q<br />Constraint:<br />The execution duration of two consecutive nodes has no Intersection. <br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  77. 77. Connect fragments<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(0,7)<br />(1,6)<br />Registry<br />Publish Information of all Abstract Web Services <br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />(1,7) <br />P<br />Q<br />Constraint:<br />The execution duration of two consecutive nodes has no Intersection. <br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />13-15 December 2010<br />ServiceWave 2010<br />
  78. 78. Find A Feasible Solution<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(1,6)<br />Registry<br />Publish Information of all Abstract Web Services <br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />(1,7) <br />P<br />Q<br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />(0,7)<br />13-15 December 2010<br />ServiceWave 2010<br />
  79. 79. Return Instantiation Result<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(1,6)<br />Registry<br />Publish Information of all Abstract Web Services <br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />(1,7) <br />P<br />Q<br />Return Instantiation<br />s1<br />s1<br />s2<br />s2<br />Execution time: within 8 time units<br />s3<br />s3<br />Complete Instantiation<br />s4<br />s4<br />s5<br />s5<br />(0,7)<br />13-15 December 2010<br />ServiceWave 2010<br />
  80. 80. Ready For Execution<br />Middleware Layer<br />Workflow Instantiation<br />(0,3)<br />(0,3)<br />(1,6)<br />Registry<br />Publish Information of all Abstract Web Services <br />(3,8)<br />(5,9)<br />Abstract BP (SPA)<br />(1,7) <br />P<br />Q<br />Return Instantiation<br />s1<br />s1<br />sp2<br />s2<br />s2<br />Execution time: within 8 time units<br />sp6<br />s3<br />s3<br />sp3<br />Complete Instantiation<br />s4<br />s4<br />sp5<br />s5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  81. 81. Distribute Workflow Information*<br />Middleware Layer<br />Abstract BP (SPA)<br />P<br /><ul><li>ID Number
  82. 82. Next:<?>
  83. 83. Previous:<?></li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />Abstract BP (SP3)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />* The decentralized execution is proposed by H. FERNANDEZ, C.TEDESCHI and T.PRIOL, IRISA, Rennes, France <br />13-15 December 2010<br />ServiceWave 2010<br />
  84. 84. Workflow Information for Starting Node<br />Middleware Layer<br />Abstract BP (SPA)<br />P<br /><ul><li>ID:CWSA001
  85. 85. Next:<SP6, SP3>
  86. 86. Previous:<SPA></li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />Abstract BP (SP3)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  87. 87. Workflow Information for intermediate Nodes<br />Middleware Layer<br />Abstract BP (SPA)<br />P<br /><ul><li>ID:CWSA001
  88. 88. Next:<SP1>
  89. 89. Previous:<SP2></li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />Abstract BP (SP3)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  90. 90. Workflow Information for Finishing Nodes<br />Middleware Layer<br />Abstract BP (SPA)<br />P<br /><ul><li>ID:CWSA001
  91. 91. Next:<SPA>
  92. 92. Previous:<SP5, SP3></li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />Abstract BP (SP3)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  93. 93. Start Invocation<br />Middleware Layer<br />Abstract BP (SPA)<br />P<br /><ul><li>ID:CWSA001
  94. 94. Input:</li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract BP (SP3)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  95. 95. Continue Execution.<br />Middleware Layer<br />Abstract BP (SPA)<br />R<br />R<br /><ul><li>ID:CWSA001
  96. 96. Input:
  97. 97. ID:CWSA001
  98. 98. Input:</li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />Abstract BP (SP3)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  99. 99. Continue Execution..<br />Middleware Layer<br />Abstract BP (SPA)<br />R<br /><ul><li>ID:CWSA001
  100. 100. Input:</li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />Abstract BP (SP3)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  101. 101. Continue Execution...<br />Middleware Layer<br />Abstract BP (SPA)<br />R<br />R<br /><ul><li>ID:CWSA001
  102. 102. Input:
  103. 103. ID:CWSA001
  104. 104. Input:</li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />Abstract BP (SP3)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  105. 105. Get Result<br />Middleware Layer<br />Abstract BP (SPA)<br />R<br /><ul><li>ID:CWSA001
  106. 106. Input:</li></ul>s1<br />sp2<br />Abstract WS (SP2)<br />Abstract WS (SP6)<br />Abstract WS (SP5)<br />Abstract WS (SP1)<br />Abstract BP (SP3)<br />s2<br />sp6<br />s3<br />sp3<br />s4<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />SP2_Invoker<br />sp5<br />s5<br />sp1<br />13-15 December 2010<br />ServiceWave 2010<br />
  107. 107. Implementation<br />13-15 December 2010<br />ServiceWave 2010<br />
  108. 108. Chemical Computing<br /><ul><li> Unconventional Computing Paradigm Inspired by Chemical Reactions:
  109. 109. Computation = Chemical Reactions;
  110. 110. Computing Resources = Molecules;
  111. 111. Control = A Set of Rules;
  112. 112. HOCL: Higher Order Chemical Language
  113. 113. Multi-set/Solution (what to put in the chemical container);
  114. 114. Rules definition
  115. 115. Replace … by … if (See the example later on.)</li></ul>13-15 December 2010<br />ServiceWave 2010<br />
  116. 116. 1<br />16<br />6<br />5<br />9<br />12<br />Example: Calculate Maximum Number<br /><1, 6, 16, 5, 9, 12><br />Multi-set<br />13-15 December 2010<br />ServiceWave 2010<br />
  117. 117. 1<br />16<br />6<br />5<br />9<br />12<br />Example: Calculate Maximum Number<br />Max<br />letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12><br />Multi-set<br />13-15 December 2010<br />ServiceWave 2010<br />
  118. 118. Example: Calculate Maximum Number<br />Max<br />letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12><br />Multi-set<br />1<br />16<br />6<br />5<br />9<br />12<br />13-15 December 2010<br />ServiceWave 2010<br />
  119. 119. Example: Calculate Maximum Number<br />Max<br />letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12><br />Multi-set<br />16<br />6<br />12<br />13-15 December 2010<br />ServiceWave 2010<br />
  120. 120. Example: Calculate Maximum Number<br />Max<br />letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12><br />Multi-set<br />6<br />16<br />12<br />13-15 December 2010<br />ServiceWave 2010<br />
  121. 121. Example: Calculate Maximum Number<br />Max<br />letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12><br />Multi-set<br />6<br />16<br />13-15 December 2010<br />ServiceWave 2010<br />
  122. 122. Example: Calculate Maximum Number<br />Max<br />letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12><br />Multi-set<br />6<br />16<br />13-15 December 2010<br />ServiceWave 2010<br />
  123. 123. Example: Calculate Maximum Number<br />Max<br />letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12><br />Multi-set<br />16<br />13-15 December 2010<br />ServiceWave 2010<br />
  124. 124. Characteristics of Multi-set<br /><ul><li> Each multi-set Is An Autonomic System
  125. 125. Dynamic, elements are chosen non-predefined;
  126. 126. Reaction rule can do everything: computing, coordinating, fault-handling, etc.
  127. 127. Add/Remove Elements
  128. 128. User interface: add new element (data as well as reaction rules);
  129. 129. Remove the incorrect elements from the multi-set;
  130. 130. Reactivate the reaction: when a multi-set reaches the inert state, new elements can reactivate the reaction;
  131. 131. Communication
  132. 132. Pass the elements/commands to a remote multi-set
  133. 133. Either from the user interface or can be performed automatically by reaction rules (once a certain type of element is produced, it will be sent to a specified remote multi-set)</li></ul>13-15 December 2010<br />ServiceWave 2010<br />
  134. 134. Implementation<br /><ul><li> A multi-set is created for each component
  135. 135. Each component is implemented by a multi-set (chemical reaction container);
  136. 136. Service related elements can be seen as molecules (a workflow can be seen as a composed molecule);
  137. 137. Rules are created to perform different actions
  138. 138. Reaction rules operate on the elements (such as workflow definition);
  139. 139. Computation can be seen as perpetual motion that never need to stop;
  140. 140. Ability to adapt to the dynamic environment;
  141. 141. Distributed Implementation
  142. 142. Different multi-set can be implemented on different machines;
  143. 143. The component works independently and concurrently to the others; </li></ul>13-15 December 2010<br />ServiceWave 2010<br />
  144. 144. Conclusions & Future Work<br />13-15 December 2010<br />ServiceWave 2010<br />
  145. 145. Conclusion<br /><ul><li> Middleware Architecture:
  146. 146. Partner services are selected and bound during run-time;
  147. 147. The selection process is based on both functional and non-functional requirement over the entire workflow;
  148. 148. The execution of workflow is decentralized;
  149. 149. Chemical Computing Based Implementation:
  150. 150. Each middleware component is implemented by a multi-set as an autonomic system;
  151. 151. Capable to adapt to the fast changing execution environment;
  152. 152. New elements and rules can be added to the middleware on-demand to meet the new requirements;
  153. 153. Distributed implementation: each component is running independently and concurrently to each other;</li></ul>13-15 December 2010<br />ServiceWave 2010<br />
  154. 154. Future Work<br /><ul><li> Complex Workflow Structure:
  155. 155. Parallel, conditional, loops, etc.
  156. 156. Multiple real QoS constraints:
  157. 157. Work on the more realistic QoS constraints (price & execution time)
  158. 158. Service Adaptation:
  159. 159. Service Monitoring: monitor the execution of a workflow, detect the unpredictable problems (such as node crash etc.);
  160. 160. Adaptation process: replace the crashed part with new offers and continue the execution;</li></ul>13-15 December 2010<br />ServiceWave 2010<br />
  161. 161. ICSOC-ServiceWave 2009<br />Thanks For Your Attention!<br />* The research leading to these results has received funding from the European Community’s Seventh Framework Programme [FP7/2007-2013] under grant agreement 215483 (S-CUBE).<br />

×