23
1 Arne J. Berre 1 SINTEF Telecom and Informatics CBSE and workflow-based composition Arne-Jørgen Berre, SINTEF [email protected] CBSEnet, Cyprus, September 26 th , 2003 Based on position statement for ECOOP’2003 WS12 “Third International Workshop Composition Languages” July 22 nd , 2003

CBSE and workflow-based composition

  • Upload
    dyllis

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

CBSE and workflow-based composition. Arne-J ørgen Berre, SINTEF [email protected] CBSEnet, Cyprus, September 26 th , 2003 Based on position statement for ECOOP’2003 WS12 “Third International Workshop Composition Languages” July 22 nd , 2003. IDE. Integrated Environment. Repository - PowerPoint PPT Presentation

Citation preview

Page 1: CBSE and workflow-based composition

1Arne J. Berre 1SINTEF Telecom and Informatics

CBSE and workflow-based composition CBSE and workflow-based composition

Arne-Jørgen Berre, SINTEF

[email protected]

CBSEnet, Cyprus, September 26th, 2003

Based on position statement for ECOOP’2003 WS12

“Third International Workshop Composition Languages”

July 22nd, 2003

Page 2: CBSE and workflow-based composition

2Arne J. Berre 2SINTEF Telecom and Informatics

COMBINE Component CentreCOMBINE Component Centre

Components implementations

Component specifications

Documentation

Enterprise Repository

TransformationService

ITrS

Model TransformerExecution

Environment

Runtime components.Workflow support

Modeling tool Programtool

Model transformation Models profiles, business,

requirements, architecture, platform

Define and execute transformations, code generation

Engineer & build component code

Repositoryinterface

Repositoty & Process CC description

Integrated EnvironmentProcessSupport

Web-based

Workflowsupport

IRep

XMI/OBJ

Comp.Valida

tor

Prog WFXML

XMI/Code

IDE

IBrow

HTMLCode XMI

Page 3: CBSE and workflow-based composition

3Arne J. Berre 3SINTEF Telecom and Informatics

COMBINE MDA Approach

COMBINE MDA Approach

HUTN EditorHUTN EditorArchitecture

ModellerRequirements

ModellerPlatformModellerPlatformModeller

Requirementmodels

Requirementmodels

UML ProfilesUML Profiles

ProfileModellerProfile

Modeller

Component Generation

Component Generation

Architecturemodels

Architecturemodels

Platform models(J2EE&WebS

Platform models(J2EE&WebS

Req-ArchMapping

Req-ArchMapping

Arch-PlatformMapping

Arch-PlatformMapping

ReusableAsset

Manager

Enterprise Repository

UML Model SW Component Document

HUTN EditorModelingToolset

Models

Project &EnterpriseRepositories

BusinessModeller

BusinessModels

BusinessModels

BM-Req-ArchMapping

BM-Req-ArchMapping

HUTN Editor

Modelmappings

PlatformEnvironmentsJ2EE/EJBWeb Services

Tool- dependent and independent (XMI) representation, Intra/Internet -accessible

HUTN EditorHUTN EditorArchitecture

ModellerRequirements

ModellerPlatformModellerPlatformModeller

Requirementmodels

Requirementmodels

UML ProfilesUML Profiles

ProfileModellerProfile

Modeller

Component Generation

Component Generation

Architecturemodels

Architecturemodels

Architecturemodels

Architecturemodels

Platform models(J2EE&WebS

Platform models(J2EE&WebS

Platform models(J2EE&WebS

Platform models(J2EE&WebS

Req-ArchMapping

Req-ArchMappingReq-ArchMapping

Req-ArchMapping

Arch-PlatformMapping

Arch-PlatformMapping

Arch-PlatformMapping

Arch-PlatformMapping

ReusableAsset

Manager

Enterprise Repository

UML Model SW Component Document

HUTN EditorModellingToolset

Models

Project &EnterpriseRepositories

BusinessModeller

BusinessModels

BusinessModels

BM-Req-ArchMapping

BM-Req-ArchMapping

BM-Req-ArchMapping

BM-Req-ArchMapping

HUTN Editor

Modelmappings

PlatformEnvironmentsJ2EE/EJBWeb Services

Tool- dependent and independent (XMI) representation, Intra/Internet -accessible

WorkflowEngine

Page 4: CBSE and workflow-based composition

4Arne J. Berre 4SINTEF Telecom and Informatics

Component Centre Parts

Component Centre Parts

Components implementations

Component specifications

Documentation

EnterpriseRepository(Adaptive)

TransformationService

ITrS

Model TransformerJ2EE JBOSS Execution Env.

Runtime components.(OpenSource)

Objecteering(Softeam)

EclipseProgram IDE

UMT (SINTEF)

Models profiles, business, requirements, architecture, platform

Define and execute transformations, code generation

Engineer & build component code(OpenSource)

RepositoryWeb

interface(Adaptive)

Integrated EnvironmentProcessSupportWeb-based(OpenIT)

Micro-WorkflowEngine

IRep

XMI/OBJ

Comp.Validator

(OpenGroup)

Prog WFXML

XMI/Code

ECLIPSE IDE (OpemSource)

IBrow

HTMLCode XMI

(INESC)

Page 5: CBSE and workflow-based composition

5Arne J. Berre 5SINTEF Telecom and Informatics

Page 6: CBSE and workflow-based composition

6Arne J. Berre 6SINTEF Telecom and Informatics

OpenGIS Web Services and Components

OpenGIS Web Services and Components

Page 7: CBSE and workflow-based composition

7Arne J. Berre 7SINTEF Telecom and Informatics

ACE-GIS Project example

ACE-GIS Project example

MDA PIMPlastform Independent ModelIn XMI

Service Infrastructure

Registry &Repository

Catalogue &Services

UML Graphical notation

Information model(WSDL/XSD)

SemanticInteroperability

mapper tool

Service model(ws:WSDL +)

FlowComposition model(ws:WSFL +)

XMI-representation

FlowComposition model

Information model

Service model

UMTTransformationToolkit

MDA PSMPlatform Specific Model:Web Services,ebXML, J2EE/EJB, ...

GIServices

ECServices

StandardRegistry

Repository

CompositionServices

Service Creation Environment

Modelmapper

Existingapplication

FlowComposition model

Information model

Service model

NewApplication &

serviceService interface

ConformanceTesting tool

FlowComposition

tool

UMLtool

Page 8: CBSE and workflow-based composition

8Arne J. Berre 8SINTEF Telecom and Informatics

Workflow analysis

Workflow analysis

 

Page 9: CBSE and workflow-based composition

9Arne J. Berre 9SINTEF Telecom and Informatics

Calculate gas dispersion layer

Draw map

layer:Layer

Page 10: CBSE and workflow-based composition

10Arne J. Berre 10SINTEF Telecom and Informatics

Fire Officer:

Get the chemical's properties

Calculate the dispersion

Generate gas dispersion layer

Identify location

weatherCondition:WeatherCondition2

gasDispersionCoverage:Coverage

<<comment>>

LOG data (will depend on the output)

<<comment>>

LOG the coverage

chemicals:ChemicalList

selectedChemical:Chemical

<<comment>>

means that some mapping must occur between the types WC1 and WC2

Get the chemical's properties

Calculate the dispersion

Get weather conditions

Generate gas dispersion layer

Identify locationweatherStationLocation:Location

weatherCondition:WeatherCondition2 weatherCondition:WeatherCondition1

layer:Layer

Page 11: CBSE and workflow-based composition

11Arne J. Berre 11SINTEF Telecom and Informatics

getToleranceLevels

Create coverage layer

gasDispersionCoverage:Coverage

chemical:Chemical

toleranceLevels:ToleranceLevels

layer:Layer

Page 12: CBSE and workflow-based composition

12Arne J. Berre 12SINTEF Telecom and Informatics

UML Model Transformation tool

UML Model Transformation tool

XMI XMI

code generation

model transformations

Page 13: CBSE and workflow-based composition

13Arne J. Berre 13SINTEF Telecom and Informatics

<?xml version="1.0" encoding="UTF-8"?>

<WorkflowDefinition xmlns="http://www.esw.inesc-id.pt/worksco/tools/schemas/workflow"

id="W-example"

name="application integration workflow example"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.esw.inesc-id.pt/worksco/tools/schemas/workflow

http://www.esw.inesc-id.pt/worksco/tools/schemas/workflow.xsd">

<SequenceProcedure id="P1">

<JoinProcedure id="P2" name="Get information in parallel">

<ConditionalProcedure id="P3" name="Check for 1"

condition="((List)choices).contains(new Integer(1));">

<PrimitiveProcedure id="P4" name="Do action for 1"

domainObject="GetRoadMap"/>

</ConditionalProcedure>

<ConditionalProcedure id="P5" name="Check for 2"

condition="((List)choices).contains(new Integer(2));">

<PrimitiveProcedure id="P6" name="Do action for 2"

domainObject="GetLandMap"/>

</ConditionalProcedure>

</JoinProcedure>

<PrimitiveProcedure id="P7" name="Combine the information into one map"

domainObject="CombineMaps"/>

</SequenceProcedure>

</WorkflowDefinition>

Page 14: CBSE and workflow-based composition

14Arne J. Berre 14SINTEF Telecom and Informatics

Patterns for “Flow”, “Choreography”,

“Composition” and “Orchestration”

Patterns for “Flow”, “Choreography”,

“Composition” and “Orchestration”

Pattern

Sequence

Parallel Split

Synchronization

Exclusive Choice

Simple Merge

Multi Choice

Synchronizing Merge

Multi Merge

Pattern

Discriminator

Arbitrary Cycles

Implicit Termination

MI without

Synchronization

MI with a Priori Design

Time Knowledge

MI with a Priori Runtime

Knowledge

MI without a Priori

Runtime Knowledge

Ref. artikkel“Don’t go with the flow”http://tmitwww.tm.tue.nl/research/patterns/ieeewebflow.pdf

Page 15: CBSE and workflow-based composition

15Arne J. Berre 15SINTEF Telecom and Informatics

Comparison of “Flow” “Standards” 1/2

Comparison of “Flow” “Standards” 1/2

Pattern XPDL UML BPEL XLANG WSFL BPML

Sequence + + + + + +

Parallel Split + + + + + +

Synchronization + + + + + +

Exclusive Choice + + + + + +

Simple Merge + + + + + +

Multi Choice + - + - + -

Synchronizing Merge - - + - + -

Multi Merge - - - - - +/ -

Page 16: CBSE and workflow-based composition

16Arne J. Berre 16SINTEF Telecom and Informatics

Comparison of “Flow” “Standards” 2/2

Comparison of “Flow” “Standards” 2/2

Pattern XPDL UML BPEL XLANG WSFL BPML

Discriminator - - - - - -

Arbitrary Cycles + - - - - -

Implicit Termination + - + - + +

MI without

Synchronization - - + + + +

MI with a Priori Design

Time Knowledge + + + + + +

MI with a Priori Runtime

Knowledge - + - - - -

MI without a Priori

Runtime Knowledge - - - - - -

Deferred Choice - + + + - +Interleaved Parallel

Routing - - +/ - - - -

Milestone - - - - - -

Cancel Activity - + + + + +

Cancel Case - + + + + +

Page 17: CBSE and workflow-based composition

17Arne J. Berre 17SINTEF Telecom and Informatics

Discussion pointDiscussion point

• What are similarities/differences,• and advantages/disadvantages between:

• Workflow languages vs• (Web) Service orchestration/choreography languages• vs• Scripting languages

• ---- and Component Composition languages ? (theory/practice)• ADLs• Agent-based languages• Conclusion from ECOOP’2003 WS12 • “Third International Workshop Composition Languages” • -> The various approaches, (Workflow, Web service choreography,

Scripting, Component composition) need to be related and compared.

Page 18: CBSE and workflow-based composition

18Arne J. Berre 18SINTEF Telecom and Informatics

Issues

Issues

• Workflow, orchestration, composition – What are similarities and differences with respect to problem/solution

• Describe resources and artifacts give:

• Problem in handling loops (state handling)

• Create a new instance of the process (problem of resources and artifacts) – difficult then to merge

• Putting together versus composition and/or orchestration

• Activity view versus Component collaboration/composition view (UML for EDOC) – also for non functional aspects ?

• Relationship to ADL , UML 2.0 (Port-Connector)

Page 19: CBSE and workflow-based composition

19Arne J. Berre 19SINTEF Telecom and Informatics

Issues (II)

Issues (II)

• Dynamic discovery of services, reconfigurability, match QoS requirements

• Component deployment solutions (Workshop on Deployment – colocated ICSE May-2004)

• Upgrade system, reconfiguration languages, C2 language (David Garlan, CMU, strict hierarchy of components)

• CBSE Symposium colocated ICSE May-2004 , predictable assembly

• International CB Programming workshop, ECOOP 2004, June 14-17, Oslo, WICSA (Software Architecture) colocated

Page 20: CBSE and workflow-based composition

20Arne J. Berre 20SINTEF Telecom and Informatics

Issues III

Issues III

• Killer application for Composition languages ? Be problem oriented rather than solution oriented ?

• First – what are the advantages offered: Separation of concern, explicit configuration; flexibility, adaptability, easier to understand for users – let users change (ref. SAP), (no recursion/looping)

• Embedded domain (Field devices), Agent-oriented applications

• PICOLA – language as a research vehicle

• What is difficult to express ?

• Interoperability – Describe workflow model, import into execution engine, From Business model to XPDL,

Page 21: CBSE and workflow-based composition

21Arne J. Berre 21SINTEF Telecom and Informatics

Issues IV

Issues IV

• Mobility ? Rel.to QoS requirements, code mobility (viruses/worms) ?, device mobility, user mobility,

Page 22: CBSE and workflow-based composition

22Arne J. Berre 22SINTEF Telecom and Informatics

Issues

Issues

• Agree on Ontology for QoS

• Different interpretations of terms, top down vs bottom up

• ISO 9126 – Sofware quality

• UML profile for QoS

• Specification of context ?

Page 23: CBSE and workflow-based composition

23Arne J. Berre 23SINTEF Telecom and Informatics

Relevant linksRelevant links

• COMBINE www.opengroup.org/combine

• ACE-GIS www.acegis.net

• MDA www.omg.org/mda• UML 2.0 www.u2-partners.org• Location-based services & components/GIS www.opengis.org

• CBSEnet www.cbsenet.org