CHOReVOLUTION WP2 Enablers
-
Upload
chorevolution -
Category
Software
-
view
150 -
download
0
Transcript of CHOReVOLUTION WP2 Enablers
CHOReVOLUTION Enablers – WP2Modeling and Synthesis
Autili MarcoUDA1st Review MeetingBrussels, February 11, 2016
11/02/2016 1
Outline
11/02/2016 2
l WP description
l Rational behind (the WHY)
l Realization (the HOW)
l Offered features (the WHAT)
l WP2 enablers at work
WP2 Overview
l Duration: M1 - M30 (all tasks)l Effort: 49 PMs
l Task 2.1: Choreography Modeling− UDA, CEFRIEL, INRIA, THA, Softeco, Tirasa [M1-M24]
l Task 2.2: Automated CHOReVOLUTION Synthesis− UDA, CEFRIEL, INRIA, THA, Softeco, Tirasa [M1-M30]
11/02/2016 3
WP2 Deliverables
ü D2.1: Modeling notations and dependencies with the CHOReVOLUTION synthesis (UDA) - M10
ü D2.2: CHOReVOLUTION synthesis – first outcomes (UDA) - M10
l D2.3: CHOReVOLUTION synthesis – intermediate outcomes (UDA) - M22
l D2.4: CHOReVOLUTION synthesis – final outcomes (UDA) -M30
11/02/2016 4
Choreography modelers cooperate each other to set business goals, e.g.,
- assisting travelers from arrival, to staying, to departure
Modeling and Synthesis Enablers: rational behind
11/02/2016 5
Reserve TaxiFind POI
ReserveTable
Check Flight
… ...
… ...
… ...
Identify the tasks and participantsrequired to achieve the goal, e.g.,
- reserving a taxi from the local taxi company,
- purchasing digital tickets at the train station,
- performing transactions through services based on near field communication in a shop
Modeling and Synthesis Enablers: rational behind
11/02/2016 6
Reserve TaxiFind POI
ReserveTable
Check Flight
… ...
… ...
… ...
Specify how participants must collaborate as admissible flows of business tasks through:
- BPMN2 ChoreographyDiagrams
Modeling and Synthesis Enablers: rational behind
Model
11/02/2016 7
The inventory contains servicesand things published byproviders, e.g.,
- transportation companies
- airport retailers
that have identified businessopportunities in the domain ofinterest
Reserve TaxiFind POI
ReserveTable
Check Flight
… ...
… ...
… ...
Modeling and Synthesis Enablers: rational behind
InventoryModel
11/02/2016 8
• Out of the specified business goal
• by (re-)using the set of services/things available in the inventory ...
Reserve TaxiFind POI
ReserveTable
Check Flight
… ...
… ...
… ...
JANUARY/FEBRUARY 2015 | IEEE SOFTWARE 53
Step 1. Software producers cooperate with domain experts and business managers to
• set the business goal (for exam-ple, assist travellers from arrival, to staying, to departure),
• identify the tasks and partici-pants required to achieve the goal (for example, reserving a taxi from the local taxi com-pany, purchasing digital tickets at the train station, and per-forming transactions through services based on near-fi eld com-munication in a shop), and
• specify how participants must collaborate through a BPMN2 choreography diagram.
To support this step, CHOReOS pro-vides a plug-in that allows importing the goal specifi cation into the Magic-Draw modeling tool (www.nomagic.com) and associates it with BPMN2
constructs and quality-of-service constraints. In particular, CHOReOS uses both the Q4BPMN notation—an extension to BPMN2—to specify nonfunctional properties and dedi-cated automated tools to assess the choreography specifi cation’s quality.
Step 2. MagicDraw exports the mod-eled choreography to CHOReOSynt. CHOReOSynt supports the XML-based encoding of BPMN2 chore-ographies, such as the one of the BPMN2 Modeler.
Step 3. CHOReOSynt queries the reg-istry to discover services suitable for playing the choreography’s roles. The registry contains services published by providers (for example, trans-portation companies and airport re-tailers) that have identifi ed business opportunities in the domain of in-terest. To describe service interfaces, CHOReOSynt uses WSDL (Web
Services Description Language; www.w3.org/TR/wsdl). To describe service interaction behavior, BPEL (Business Process Execution Language) speci-fi es the fl ow of messages exchanged with the environment. The registry also contains the registration of users interested in exploiting the choreog-raphy through their mobile apps.
Step 4. Starting from the choreogra-phy diagram and the set of discov-ered services, CHOReOSynt syn-thesizes a set of CDs. The synthesis exploits model transformations. The transformations are implemented through ATL (www.eclipse.org/atl), a domain-specifi c language for real-izing model-to-model (M2M) trans-formations. ATL transformations comprise a number of rules, each of which manages a specifi c BPMN2 modeling construct. The current implementation of these transforma-tions in CHOReOSynt (available at
Design time Synthesis time
3
Businessmanager
Softwareengineer
End users
CHOReOSynt
Coordinationdelegates
Enactmentengine
Service providers
Domainexpert
Choreographydiagram
Model refinement
Model transformation
2
1
Execution time
4
1 5
1 6
Running choreography
Cloudmiddleware
Publish
Register
Standard communication (I/O messages)Additional communication (coordination information)
Registry
Services and things
1 5
FIGURE 2. An overview of automatic choreography synthesis, using a scenario involving the coordination of business services, thing-based services, and stakeholders from air transportation, customer relationship management, and intelligent transportation. WSDL stands for Web Services Description Language; BPEL stands for Business Process Execution Language.
s1aut.indd 53 12/9/14 3:02 PM
JANUARY/FEBRUARY 2015 | IEEE SOFTWARE 53
Step 1. Software producers cooperate with domain experts and business managers to
• set the business goal (for exam-ple, assist travellers from arrival, to staying, to departure),
• identify the tasks and partici-pants required to achieve the goal (for example, reserving a taxi from the local taxi com-pany, purchasing digital tickets at the train station, and per-forming transactions through services based on near-fi eld com-munication in a shop), and
• specify how participants must collaborate through a BPMN2 choreography diagram.
To support this step, CHOReOS pro-vides a plug-in that allows importing the goal specifi cation into the Magic-Draw modeling tool (www.nomagic.com) and associates it with BPMN2
constructs and quality-of-service constraints. In particular, CHOReOS uses both the Q4BPMN notation—an extension to BPMN2—to specify nonfunctional properties and dedi-cated automated tools to assess the choreography specifi cation’s quality.
Step 2. MagicDraw exports the mod-eled choreography to CHOReOSynt. CHOReOSynt supports the XML-based encoding of BPMN2 chore-ographies, such as the one of the BPMN2 Modeler.
Step 3. CHOReOSynt queries the reg-istry to discover services suitable for playing the choreography’s roles. The registry contains services published by providers (for example, trans-portation companies and airport re-tailers) that have identifi ed business opportunities in the domain of in-terest. To describe service interfaces, CHOReOSynt uses WSDL (Web
Services Description Language; www.w3.org/TR/wsdl). To describe service interaction behavior, BPEL (Business Process Execution Language) speci-fi es the fl ow of messages exchanged with the environment. The registry also contains the registration of users interested in exploiting the choreog-raphy through their mobile apps.
Step 4. Starting from the choreogra-phy diagram and the set of discov-ered services, CHOReOSynt syn-thesizes a set of CDs. The synthesis exploits model transformations. The transformations are implemented through ATL (www.eclipse.org/atl), a domain-specifi c language for real-izing model-to-model (M2M) trans-formations. ATL transformations comprise a number of rules, each of which manages a specifi c BPMN2 modeling construct. The current implementation of these transforma-tions in CHOReOSynt (available at
Design time Synthesis time
3
Businessmanager
Softwareengineer
End users
CHOReOSynt
Coordinationdelegates
Enactmentengine
Service providers
Domainexpert
Choreographydiagram
Model refinement
Model transformation
2
1
Execution time
4
1 5
1 6
Running choreography
Cloudmiddleware
Publish
Register
Standard communication (I/O messages)Additional communication (coordination information)
Registry
Services and things
1 5
FIGURE 2. An overview of automatic choreography synthesis, using a scenario involving the coordination of business services, thing-based services, and stakeholders from air transportation, customer relationship management, and intelligent transportation. WSDL stands for Web Services Description Language; BPEL stands for Business Process Execution Language.
s1aut.indd 53 12/9/14 3:02 PM
SynthesisProcessor
JANUARY/FEBRUARY 2015 | IEEE SOFTWARE 53
Step 1. Software producers cooperate with domain experts and business managers to
• set the business goal (for exam-ple, assist travellers from arrival, to staying, to departure),
• identify the tasks and partici-pants required to achieve the goal (for example, reserving a taxi from the local taxi com-pany, purchasing digital tickets at the train station, and per-forming transactions through services based on near-fi eld com-munication in a shop), and
• specify how participants must collaborate through a BPMN2 choreography diagram.
To support this step, CHOReOS pro-vides a plug-in that allows importing the goal specifi cation into the Magic-Draw modeling tool (www.nomagic.com) and associates it with BPMN2
constructs and quality-of-service constraints. In particular, CHOReOS uses both the Q4BPMN notation—an extension to BPMN2—to specify nonfunctional properties and dedi-cated automated tools to assess the choreography specifi cation’s quality.
Step 2. MagicDraw exports the mod-eled choreography to CHOReOSynt. CHOReOSynt supports the XML-based encoding of BPMN2 chore-ographies, such as the one of the BPMN2 Modeler.
Step 3. CHOReOSynt queries the reg-istry to discover services suitable for playing the choreography’s roles. The registry contains services published by providers (for example, trans-portation companies and airport re-tailers) that have identifi ed business opportunities in the domain of in-terest. To describe service interfaces, CHOReOSynt uses WSDL (Web
Services Description Language; www.w3.org/TR/wsdl). To describe service interaction behavior, BPEL (Business Process Execution Language) speci-fi es the fl ow of messages exchanged with the environment. The registry also contains the registration of users interested in exploiting the choreog-raphy through their mobile apps.
Step 4. Starting from the choreogra-phy diagram and the set of discov-ered services, CHOReOSynt syn-thesizes a set of CDs. The synthesis exploits model transformations. The transformations are implemented through ATL (www.eclipse.org/atl), a domain-specifi c language for real-izing model-to-model (M2M) trans-formations. ATL transformations comprise a number of rules, each of which manages a specifi c BPMN2 modeling construct. The current implementation of these transforma-tions in CHOReOSynt (available at
Design time Synthesis time
3
Businessmanager
Softwareengineer
End users
CHOReOSynt
Coordinationdelegates
Enactmentengine
Service providers
Domainexpert
Choreographydiagram
Model refinement
Model transformation
2
1
Execution time
4
1 5
1 6
Running choreography
Cloudmiddleware
Publish
Register
Standard communication (I/O messages)Additional communication (coordination information)
Registry
Services and things
1 5
FIGURE 2. An overview of automatic choreography synthesis, using a scenario involving the coordination of business services, thing-based services, and stakeholders from air transportation, customer relationship management, and intelligent transportation. WSDL stands for Web Services Description Language; BPEL stands for Business Process Execution Language.
s1aut.indd 53 12/9/14 3:02 PM
Choreography developer
Service InventoryModel
... the CHOReVOLUTIONSynthesis Processor
automatically produces (if possible) a choreography-
based application achieving the goal
11/02/2016 9
SynthesisModelling
From (meta) Modeling to WP2 Enablers
BPMN2 Choreography Diagrams plus…
…additional and intermediate models
Service behaviour & identity
Service-role interface mappings
Choreography variations
Interfaceinteraction protocol
QoS & identity attributes
Security requirements
CDs, Adapters, Security Filters,and BCs
Choreography Enactment,Deployment, and Execution
Variability points percontext conditions
Eclipse Modelling Framework (EMF) metamodelsModelling Enabler(set of visual editors)
Synthesis Enabler(synthesis processor)
User-friendly Modelling of choreography-based systems
Automatic generation of the required software artefacts
11/02/2016 10
CHOReVOLUTION Studio
Tool-box of integrated frontend tools
CHOReVOLUTION-specific customization of the Eclipse platform
Capable of interacting with the CHOReVOLUTION backend components through REST APIs
IDE supporting all the development activities devised for realizing
CHOReVOLUTION systems
11/02/2016 12
Choreography ModelerService ModelerModelling Enabler
ChoreographyDiagram
Synthesis ProcessorInventory
VariabilityModel
IdentityModel
DesiredQoS Model
ProtocolModel
InterfaceDescription
IdentityModel
OfferedQoS Model
ProtocolModel
S
InterfaceDescription
S
IdentityModel
S
Offered QoSModel
S
IdentityModel
ChoreographyDiagram
IntermediateModels
DesiredQoS Model
VariabilityModel
11/02/2016 13
Synthesis ProcessorIntermediate
Models
InventoryInterface
DescriptionProtocolModel
IdentityModel
Offered QoSModel
SS S S
ChoreographyDiagram
VariabilityModel
IdentityModel
DesiredQoS Model
(model-based) Synthesis Enabler
Synthesis processorl implements M2M and M2C transformations
l provides developers with automatic support for generating and manipulating all the software artefacts that are required to realize the choreography
11/02/2016 14
Synthesis ProcessorIntermediate
Models
InventoryInterface
DescriptionProtocolModel
IdentityModel
Offered QoSModel
Selection
SS S S
ChoreographyDiagram
VariabilityModel
IdentityModel
DesiredQoS Model
(model-based) Synthesis Enabler
ChoreographyExecution
Enactment EngineChoreographyDeploymentModel
Adapters A
SecurityFilters
SF
CooordinationModels
CD
BindingComponents
BC
SSelectedServices
ChoreographyDeploymentModel
AdditionalSoftwareArtifactsGeneration
ChoreographyEnactment
Query
CHOReVOLUTION Architectural Style
11/02/2016 15
Summing up
l Fully integrated modeling and automated synthesis tools for dynamic choreographies
l Preliminary experimentation on WP4 and WP5 use cases
Next stepsl Automatic generation of Adaptersl Integrate BC and SF synthesis with the modeling and synthesis
enablersl Generation of CDs as autonomous entities for supporting
choreography evolutionl Choreography monitoring
11/02/2016 16