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

773

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
773
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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 />

×