• Save
Chen Wang, Pazat, Di Napoli, Giordano:  A Chemical Based Middleware for Workflow Instantiation and Execution
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 873 views

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

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

Statistics

Views

Total Views
873
Views on SlideShare
873
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • ServiceWave 2010
    A Chemical Based Middleware for Workflow Instantiation and Execution
    Chen WANG1, Jean-Louis PAZAT1,
    Claudia DI NAPOLI2, Maurizio GIORDANO2
    1Université Européenne de Bretagne, INSA/INRIA/IRISA, F-35708 Rennes, France
    2Istituto di Cibernetica CNR, Via Campi Flegrei 34, 80078 Pozzuoli, Naples, Italy
    15th December 2010 @ Gent, Belgium
    ServiceWave 2010
    13-15 December 2010
  • Outline:
    • Introduction
    • Middleware Architecture
    • Workflow Instantiation & Execution
    • Implementation
    • Conclusion & Future Work
    ServiceWave 2010
    13-15 December 2010
  • Introduction
    ServiceWave 2010
    13-15 December 2010
  • Background
    Publish
    Find
    • 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 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.
    Bind
    Web services architecture.
    13-15 December 2010
    ServiceWave 2010
  • Contributions
    • 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
    13-15 December 2010
    ServiceWave 2010
  • Global Architecture
    Middleware Layer
    Abstract Business Process
    Registry
    AS1
    AS3
    Workflow
    Instantiation
    AS2
    Abstract Service
    Web Service
    Grid Service
    Grid Service
    Concrete Service
    Business Process
    13-15 December 2010
    ServiceWave 2010
  • Middleware Architecture
    ServiceWave 2010
    13-15 December 2010
  • Middleware Architecture
    Middleware Layer
    Web Service Execution Level
    Registry
    Publish Information of all offers provided by Abstract Services
    Monitoring/Rating Module
    Workflow Instantiation
    The 3rd party component, exposed as a service, to monitor the execution process of a workflow.
    - Input: an Abstract workflow
    - Output: a Concrete Workflow
    (Execution Plan)
    Web Service Representation Level
    Abstract WSn
    Abstract WS1


    Abstract Business Processm
    Abstract Business Process1
    WSn_Invoker
    WS1_Invoker
    Definition of Abstract WF
    Definition of Abstract WF

    Concrete WS1
    Concrete WSn
    13-15 December 2010
    ServiceWave 2010
  • Abstract Web Service
    • 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)
    Abstract WS1
    WS1_Invoker
    Concrete WS1
    13-15 December 2010
    ServiceWave 2010
  • Abstract Business Process
    • 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 multiplied)
    • The same abstract workflow + different global QoS Constraints = different concrete workflow (Instantiation process: coming slide)
    Abstract Business Processm
    Definition of Abstract WF
    13-15 December 2010
    ServiceWave 2010
  • Instantiation Component
    • Input:
    • Abstract workflow definition;
    • Global QoS constraints (total price & execution time);
    • Output:
    • Concrete/Instantiated workflow: Abstract workflow + endpoint reference bindings;
    • Instantiation Process:
    • Coming section.
    Workflow Instantiation
    - Input: an Abstract workflow
    - Output: a Concrete Workflow
    (Execution Plan)
    13-15 December 2010
    ServiceWave 2010
  • Registry
    Registry
    Publish Information of all offers provided by Abstract Services
    • Directory maintaining all offers
    • offer: simple contract between service provider and requester;
    • Offer specifies 4 aspects:
    • ID of service provider;
    • Offer name;
    • Functional and
    • Non-functional characteristics of a service delivery
    • Example:
    • “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%.
    13-15 December 2010
    ServiceWave 2010
  • Workflow Instantiation & Execution Process
    13-15 December 2010
    ServiceWave 2010
  • Web Service Invocation
    Middleware Layer
    Service Invocation Message
    (with parameters)
    Abstract BP (SPA)
    P
    Q
    s1
    s2
    s3
    s4
    s5
    13-15 December 2010
    ServiceWave 2010
  • Forward Abstract WF to Instantiation
    Middleware Layer
    Workflow Instantiation
    Abstract BP (SPA)
    Send Workflow
    P
    Q
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • Look For Appropriate Offers
    Middleware Layer
    Workflow Instantiation
    Demand Offers
    I look for the service providers that deliver the functionalities s1, s2, s3, s4 and s5.
    Registry
    Publish Information of all Abstract Web Services
    Abstract BP (SPA)
    P
    Q
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • Return Qualified Offers
    Middleware Layer
    Workflow Instantiation
    Qualified Offers
    Registry
    Publish Information of all Abstract Web Services
    Abstract BP (SPA)
    P
    Q
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • Associate Offers to Activities
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (0,2)
    (1,5)
    (2,4)
    (1,6)
    (4,5)
    Registry
    (4,6)
    (5,7)
    Publish Information of all Abstract Web Services
    (6,7)
    (3,8)
    (5,9)
    Abstract BP (SPA)
    P
    Q
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • Non-functional Property
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (0,2)
    (1,5)
    (2,4)
    (1,6)
    (4,5)
    Registry
    (4,6)
    (5,7)
    Publish Information of all Abstract Web Services
    (6,7)
    (3,8)
    (5,9)
    Abstract BP (SPA)
    P
    Q
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • Workflow Fragment
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (0,2)
    (2,4)
    (1,5)
    (1,6)
    (4,5)
    Registry
    (4,6)
    (5,7)
    Publish Information of all Abstract Web Services
    (6,7)
    (3,8)
    (5,9)
    Abstract BP (SPA)
    P
    Q
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • QoS Constraints
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (0,2)
    (2,4)
    (1,5)
    (1,6)
    (4,5)
    Registry
    (4,6)
    (5,7)
    Publish Information of all Abstract Web Services
    (6,7)
    (3,8)
    (5,9)
    Abstract BP (SPA)
    P
    Q
    Constraint:
    The execution duration of two consecutive nodes has no Intersection.
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • Branch Instantiation
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (0,2)
    (1,6)
    (4,5)
    Registry
    Publish Information of all Abstract Web Services
    (6,7)
    (3,8)
    (5,9)
    Abstract BP (SPA)
    (2,6)
    (1,7)
    P
    Q
    Constraint:
    The execution duration of two consecutive nodes has no Intersection.
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • Connect fragments
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (0,7)
    (1,6)
    Registry
    Publish Information of all Abstract Web Services
    (3,8)
    (5,9)
    Abstract BP (SPA)
    (1,7)
    P
    Q
    Constraint:
    The execution duration of two consecutive nodes has no Intersection.
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    13-15 December 2010
    ServiceWave 2010
  • Find A Feasible Solution
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (1,6)
    Registry
    Publish Information of all Abstract Web Services
    (3,8)
    (5,9)
    Abstract BP (SPA)
    (1,7)
    P
    Q
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    (0,7)
    13-15 December 2010
    ServiceWave 2010
  • Return Instantiation Result
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (1,6)
    Registry
    Publish Information of all Abstract Web Services
    (3,8)
    (5,9)
    Abstract BP (SPA)
    (1,7)
    P
    Q
    Return Instantiation
    s1
    s1
    s2
    s2
    Execution time: within 8 time units
    s3
    s3
    Complete Instantiation
    s4
    s4
    s5
    s5
    (0,7)
    13-15 December 2010
    ServiceWave 2010
  • Ready For Execution
    Middleware Layer
    Workflow Instantiation
    (0,3)
    (0,3)
    (1,6)
    Registry
    Publish Information of all Abstract Web Services
    (3,8)
    (5,9)
    Abstract BP (SPA)
    (1,7)
    P
    Q
    Return Instantiation
    s1
    s1
    sp2
    s2
    s2
    Execution time: within 8 time units
    sp6
    s3
    s3
    sp3
    Complete Instantiation
    s4
    s4
    sp5
    s5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Distribute Workflow Information*
    Middleware Layer
    Abstract BP (SPA)
    P
    • ID Number
    • Next:<?>
    • Previous:<?>
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract WS (SP5)
    Abstract WS (SP1)
    Abstract BP (SP3)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    * The decentralized execution is proposed by H. FERNANDEZ, C.TEDESCHI and T.PRIOL, IRISA, Rennes, France
    13-15 December 2010
    ServiceWave 2010
  • Workflow Information for Starting Node
    Middleware Layer
    Abstract BP (SPA)
    P
    • ID:CWSA001
    • Next:<SP6, SP3>
    • Previous:<SPA>
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract WS (SP5)
    Abstract WS (SP1)
    Abstract BP (SP3)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Workflow Information for intermediate Nodes
    Middleware Layer
    Abstract BP (SPA)
    P
    • ID:CWSA001
    • Next:<SP1>
    • Previous:<SP2>
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract WS (SP5)
    Abstract WS (SP1)
    Abstract BP (SP3)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Workflow Information for Finishing Nodes
    Middleware Layer
    Abstract BP (SPA)
    P
    • ID:CWSA001
    • Next:<SPA>
    • Previous:<SP5, SP3>
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract WS (SP5)
    Abstract WS (SP1)
    Abstract BP (SP3)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Start Invocation
    Middleware Layer
    Abstract BP (SPA)
    P
    • ID:CWSA001
    • Input:
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract BP (SP3)
    Abstract WS (SP5)
    Abstract WS (SP1)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Continue Execution.
    Middleware Layer
    Abstract BP (SPA)
    R
    R
    • ID:CWSA001
    • Input:
    • ID:CWSA001
    • Input:
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract WS (SP5)
    Abstract WS (SP1)
    Abstract BP (SP3)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Continue Execution..
    Middleware Layer
    Abstract BP (SPA)
    R
    • ID:CWSA001
    • Input:
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract WS (SP5)
    Abstract WS (SP1)
    Abstract BP (SP3)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Continue Execution...
    Middleware Layer
    Abstract BP (SPA)
    R
    R
    • ID:CWSA001
    • Input:
    • ID:CWSA001
    • Input:
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract WS (SP5)
    Abstract WS (SP1)
    Abstract BP (SP3)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Get Result
    Middleware Layer
    Abstract BP (SPA)
    R
    • ID:CWSA001
    • Input:
    s1
    sp2
    Abstract WS (SP2)
    Abstract WS (SP6)
    Abstract WS (SP5)
    Abstract WS (SP1)
    Abstract BP (SP3)
    s2
    sp6
    s3
    sp3
    s4
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    SP2_Invoker
    sp5
    s5
    sp1
    13-15 December 2010
    ServiceWave 2010
  • Implementation
    13-15 December 2010
    ServiceWave 2010
  • Chemical Computing
    • Unconventional Computing Paradigm Inspired by Chemical Reactions:
    • Computation = Chemical Reactions;
    • Computing Resources = Molecules;
    • Control = A Set of Rules;
    • HOCL: Higher Order Chemical Language
    • Multi-set/Solution (what to put in the chemical container);
    • Rules definition
    • Replace … by … if (See the example later on.)
    13-15 December 2010
    ServiceWave 2010
  • 1
    16
    6
    5
    9
    12
    Example: Calculate Maximum Number
    <1, 6, 16, 5, 9, 12>
    Multi-set
    13-15 December 2010
    ServiceWave 2010
  • 1
    16
    6
    5
    9
    12
    Example: Calculate Maximum Number
    Max
    letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12>
    Multi-set
    13-15 December 2010
    ServiceWave 2010
  • Example: Calculate Maximum Number
    Max
    letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12>
    Multi-set
    1
    16
    6
    5
    9
    12
    13-15 December 2010
    ServiceWave 2010
  • Example: Calculate Maximum Number
    Max
    letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12>
    Multi-set
    16
    6
    12
    13-15 December 2010
    ServiceWave 2010
  • Example: Calculate Maximum Number
    Max
    letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12>
    Multi-set
    6
    16
    12
    13-15 December 2010
    ServiceWave 2010
  • Example: Calculate Maximum Number
    Max
    letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12>
    Multi-set
    6
    16
    13-15 December 2010
    ServiceWave 2010
  • Example: Calculate Maximum Number
    Max
    letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12>
    Multi-set
    6
    16
    13-15 December 2010
    ServiceWave 2010
  • Example: Calculate Maximum Number
    Max
    letmax = replacex::int, y::intbyxifx >= yin<max, 1, 6, 16, 5, 9, 12>
    Multi-set
    16
    13-15 December 2010
    ServiceWave 2010
  • Characteristics of Multi-set
    • Each multi-set Is An Autonomic System
    • Dynamic, elements are chosen non-predefined;
    • Reaction rule can do everything: computing, coordinating, fault-handling, etc.
    • Add/Remove Elements
    • User interface: add new element (data as well as reaction rules);
    • Remove the incorrect elements from the multi-set;
    • Reactivate the reaction: when a multi-set reaches the inert state, new elements can reactivate the reaction;
    • Communication
    • Pass the elements/commands to a remote multi-set
    • 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)
    13-15 December 2010
    ServiceWave 2010
  • Implementation
    • A multi-set is created for each component
    • Each component is implemented by a multi-set (chemical reaction container);
    • Service related elements can be seen as molecules (a workflow can be seen as a composed molecule);
    • Rules are created to perform different actions
    • Reaction rules operate on the elements (such as workflow definition);
    • Computation can be seen as perpetual motion that never need to stop;
    • Ability to adapt to the dynamic environment;
    • Distributed Implementation
    • Different multi-set can be implemented on different machines;
    • The component works independently and concurrently to the others;
    13-15 December 2010
    ServiceWave 2010
  • Conclusions & Future Work
    13-15 December 2010
    ServiceWave 2010
  • Conclusion
    • Middleware Architecture:
    • Partner services are selected and bound during run-time;
    • The selection process is based on both functional and non-functional requirement over the entire workflow;
    • The execution of workflow is decentralized;
    • Chemical Computing Based Implementation:
    • Each middleware component is implemented by a multi-set as an autonomic system;
    • Capable to adapt to the fast changing execution environment;
    • New elements and rules can be added to the middleware on-demand to meet the new requirements;
    • Distributed implementation: each component is running independently and concurrently to each other;
    13-15 December 2010
    ServiceWave 2010
  • Future Work
    • Complex Workflow Structure:
    • Parallel, conditional, loops, etc.
    • Multiple real QoS constraints:
    • Work on the more realistic QoS constraints (price & execution time)
    • Service Adaptation:
    • Service Monitoring: monitor the execution of a workflow, detect the unpredictable problems (such as node crash etc.);
    • Adaptation process: replace the crashed part with new offers and continue the execution;
    13-15 December 2010
    ServiceWave 2010
  • ICSOC-ServiceWave 2009
    Thanks For Your Attention!
    * 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).