17
CHOReVOLUTION Enablers – WP2 Modeling and Synthesis Autili Marco UDA 1 st Review Meeting Brussels, February 11, 2016 11/02/2016 1

CHOReVOLUTION WP2 Enablers

Embed Size (px)

Citation preview

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(full integration)

11/02/2016 11

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

THANK YOU

11/02/2016 17