Upload
dyllis
View
25
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
1Arne J. Berre 1SINTEF Telecom and Informatics
CBSE and workflow-based composition CBSE and workflow-based composition
Arne-Jørgen Berre, SINTEF
CBSEnet, Cyprus, September 26th, 2003
Based on position statement for ECOOP’2003 WS12
“Third International Workshop Composition Languages”
July 22nd, 2003
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
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
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)
5Arne J. Berre 5SINTEF Telecom and Informatics
6Arne J. Berre 6SINTEF Telecom and Informatics
OpenGIS Web Services and Components
OpenGIS Web Services and Components
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
8Arne J. Berre 8SINTEF Telecom and Informatics
Workflow analysis
Workflow analysis
9Arne J. Berre 9SINTEF Telecom and Informatics
Calculate gas dispersion layer
Draw map
layer:Layer
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
11Arne J. Berre 11SINTEF Telecom and Informatics
getToleranceLevels
Create coverage layer
gasDispersionCoverage:Coverage
chemical:Chemical
toleranceLevels:ToleranceLevels
layer:Layer
12Arne J. Berre 12SINTEF Telecom and Informatics
UML Model Transformation tool
UML Model Transformation tool
XMI XMI
code generation
model transformations
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>
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
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 - - - - - +/ -
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 - + + + + +
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.
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)
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
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,
21Arne J. Berre 21SINTEF Telecom and Informatics
Issues IV
Issues IV
• Mobility ? Rel.to QoS requirements, code mobility (viruses/worms) ?, device mobility, user mobility,
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 ?
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