Upload
acher
View
1.120
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Presentation of the paper "Managing Variability in Workflow with Feature Model Composition Operators" at Software Composition (SC) conference in 2010
Citation preview
Managing Variability in Workflow with Feature Model Composition Operators
Mathieu Acher1, Philippe Collet1, Philippe Lahire1, Robert France2
1 University of Nice Sophia Antipolis (France),
Modalis Team (CNRS, I3S Laboratory)
2 Computer Science Department,
Colorado State University
Context: Medical Imaging Services
• Scientists build workflows by assembling a wide variety of medical imaging algorithms
– Processing chain to manipulate large medical data sets
Managing Variability in Workflow with Feature Model Composition Operators 2
Context: Medical Imaging Services
• Scientists build workflows by assembling a wide variety of medical imaging algorithms
– Processing chain to manipulate large medical data sets
Managing Variability in Workflow with Feature Model Composition Operators 3
Context: Medical Imaging Services
• Scientists build workflows by assembling a wide variety of medical imaging algorithms
– Processing chain to manipulate large medical data sets
Managing Variability in Workflow with Feature Model Composition Operators 4
Context: Medical Imaging Grid Services
• Scientists build workflows by assembling a wide variety of medical imaging algorithms
– processing chain to manipulate large medical data sets
• Requirement: deployable on Grid infrastructures
– High throughput, performance computing, data storage, resource federation
Managing Variability in Workflow with Feature Model Composition Operators 5
Context: Medical Imaging Grid Services
• Scientists build workflows by assembling a wide variety of medical imaging algorithms
– processing chain to manipulate large medical data sets
• Requirement: deployable on Grid infrastructures
– High throughput, performance computing, data storage, resource federation
• Services embed the business code and are invoked remotely through standardized protocol and well-defined interfaces
Managing Variability in Workflow with Feature Model Composition Operators 6
Services: A lot of Concerns• Highly Parameterized Services
– efficiently extend, change, customize, or configure services from various perspectives for use in a particular context
Managing Variability in Workflow with Feature Model Composition Operators 7
Medical Image Format: DICOM?Nifti?Analyze?
Modality Acquisition:MRI? CT? PET?
Algorithm: User intervention? Method (spatial? frequency?)Transformation (Linear? Affine?)
Services: A lot of Concerns• Highly Parameterized Services
– efficiently extend, change, customize, or configure services from various perspectives for use in a particular context
Managing Variability in Workflow with Feature Model Composition Operators 8
Medical Image Format: DICOM?Nifti?Analyze?
Modality Acquisition:MRI? CT? PET?
Algorithm: User intervention? Method (spatial? frequency?)Transformation (Linear? Affine?)
Network :Protocol? Format?
Grid Deployment: Operation System? Library ? Processor required?
Security: Data? Level Access (VO)?
Services: A lot of Concerns• Highly Parameterized Services
– efficiently extend, change, customize, or configure services from various perspectives for use in a particular context
Managing Variability in Workflow with Feature Model Composition Operators 9
Medical Image Format: DICOM?Nifti?Analyze?
Modality Acquisition:MRI? CT? PET?
Algorithm: User intervention? Method (spatial? frequency?)Transformation (Linear? Affine?)
Network :Protocol? Format?
Grid Deployment: Operation System? Library ? Processor required?
Security: Data? Level Access (VO)?
Services as Software Product Lines• Highly Parameterized Services
– efficiently extend, change, customize, or configure services for from various perspectives use in a particular context
• Service as software product line (SPL)• See papers SOAPL’08, MICCAI-Grid’08
• Managing variability within services
– to enhance reusability
• …and across services– to enhance composability
Managing Variability in Workflow with Feature Model Composition Operators 10
Network Protocol
Concern
Medical Image
Concern
Grid Deployment
Concern
Variability in Workflow
Managing the variability
in the entire processing chain
Managing Variability in Workflow with Feature Model Composition Operators 11
Variability in Workflow
Managing the
in the entire processing chain
Managing Variability in Workflow with Feature Model Composition Operators 12
Scalability? 40 features per Service, 360 features for the workflow…
Overview of the Approach
Managing Variability in Workflow with Feature Model Composition Operators 13
Overview of the Approach (2)
• Considering multiple dimensions of a service
– And their variation points
• Reasoning about concerns with variability
– To ensure consistency of services composed
• Assisting the user during configuration
– To select right variants
• … Dealing with the entire workflow…
Managing Variability in Workflow with Feature Model Composition Operators 14
Overview of the Approach (3)
• Modeling – Workflow
– Services
– Dependency
– Concerns with Variability
• Composition Operators to reason about variable concerns and assist the user in selecting variants for the entire worflow
Managing Variability in Workflow with Feature Model Composition Operators 15
Metamodel of Workflow and Service
Managing Variability in Workflow with Feature Model Composition Operators 16
Dataport
FunctionalInterface
Parameter
Service
1
-parameters1..*
1
-output 1..*
1
-input 1..*
1
-operations1..*
DeploymentInformation
GridDeploymentInformation
-uri : String
ComputingNode
1
-nodes1
1
-deployment
1
Workflow
-id : String
Process-id : String
Relation
-value : Boolean
Guard
1
-processors1..* -relations0..*
-name : String
Variable
-left
1-right
1
-condition
1
-realizedBy
11
Source Sink
Metamodel of Workflow and Service
Managing Variability in Workflow with Feature Model Composition Operators 17
Source
Intensity
Correction
Segmentation Sink
Unbias Sink
Service
Element
Dataport
FunctionalInterface
Parameter
Service
1
-parameters1..*
1
-output 1..*
1
-input 1..*
1
-operations1..*
DeploymentInformation
GridDeploymentInformation
-uri : String
ComputingNode
1
-nodes1
1
-deployment
1
Workflow
-id : String
Process-id : String
Relation
-value : Boolean
Guard
1
-processors1..* -relations0..*
-name : String
Variable
-left
1-right
1
-condition
1
-realizedBy
11
Source Sink
Modeling Weaving of Concern
Managing Variability in Workflow with Feature Model Composition Operators 18
Weaving of Variable Concern
Managing Variability in Workflow with Feature Model Composition Operators 19
FService1
Output Dataport
Modality
AcquisitionFormat
Medical
Image
T1 T2DICOM
FMo1
Anonymized
Instance of Joinpoint
Weaving
Concerns as Feature Models
• Hierarchy + Variability
– Mandatory features, Optional features
– Alternatives and Constraints
Managing Variability in Workflow with Feature Model Composition Operators 20
AnonymizedFormat
DICOM Nifti Analyze
Modality Acquisition
MRI CT SPEC
T1 T2
PET
Medical Image
And-Group
Optional
Mandatory
Xor-Group
Or-Group
Concerns as Feature Models
• Hierarchy + Variability
– Mandatory features, Optional features
– Alternatives and Constraints
Managing Variability in Workflow with Feature Model Composition Operators 21
AnonymizedFormat
DICOM Nifti Analyze
Modality Acquisition
MRI CT SPEC
T1 T2
PET
Medical Image
And-Group
Optional
Mandatory
Xor-Group
Or-Group
Variable Concern Dependency Modeling
Managing Variability in Workflow with Feature Model Composition Operators 22
FService1
Output Dataport
FMi2
FService2
Input Dataport
Instance of Joinpoint
Weaving
FMo1
Variable Concern Dependency Modeling
Managing Variability in Workflow with Feature Model Composition Operators 23
FService1
Output Dataport
FMi2
FService2
Input Dataport
Instance of Joinpoint
Weaving
FMo1
Variable Concern Dependency Modeling
Managing Variability in Workflow with Feature Model Composition Operators 24
FService1
Output Dataport
FMi2
FService2
Input Dataport
Instance of Joinpoint
Weaving
FMo1
Functional Interface Functional Interface
FMfi1FMfi2
Grid Node Grid Node
FMg1
FMg2
Reasoning: Merge Operator
Managing Variability in Workflow with Feature Model Composition Operators 25
FService1
Output Dataport
NiftiDICOM
Modality
AcquisitionFormat
Medical
Image
T1 T2
FMi2
FService2
Input Dataport
Modality
AcquisitionFormat
Medical
Image
T1 T2DICOM
FMo1
Anonymized
Instance of Joinpoint
Weaving
When two feature models (FMs) share several features, there is a need to merge the overlapping parts.
Composing Feature Models (SLE’09)Comparing Approaches to Implement Feature Model Composition (ECMFA’10)
Feature Model Operator in Action
Managing Variability in Workflow with Feature Model Composition Operators 26
+∩
FService1
Output Dataport
NiftiDICOM
Modality
AcquisitionFormat
Medical
Image
T1 T2
FMi2
FService2
Input Dataport
Modality
AcquisitionFormat
Medical
Image
T1 T2DICOM
FMo1
Anonymized
(intersection)
FMr
Modality
AcquisitionFormat
DICOM
Medical
Image
T1 T2
Instance of Joinpoint
Weaving
Configurating and Propagating Choices
Managing Variability in Workflow with Feature Model Composition Operators 27
Feature Model Operator in Action (2)
Managing Variability in Workflow with Feature Model Composition Operators 28
+∩
FB
A
DC
FMep1
G H
I J
FMep2
FB
A
D EC G H
I
FMep3
FB
A
M E G H
I J
+∩
+∩
FB
A
DC G H
I
FMep'2
FB
A
E G H
I
FMep'3
error
FMo1FMi2 FMi3
FMepn
FMinFMo2 FMo3
FService1
Functional Interface
Input
Dataport
Output
Dataport
FService2
Functional Interface
Input
Dataport
Output
Dataport
FService3
Functional Interface
Input
Dataport
Output
Dataport
FMi1
FServicen
Functional Interface
Input
Dataport
Output
Dataport
FMon
Concurrency
Managing Variability in Workflow with Feature Model Composition Operators 29
FService1
Output Dataport
FService2
Input Dataport
FService3
Input Dataport
FMi2
FMi3
FMo1
FServicen
Input Dataport
FMin
Modality
AcquisitionFormat
Medical
Image
T1 T2DICOM
FMo1
Anonymized
NiftiDICOM
Modality
AcquisitionFormat
Medical
Image
T1 T2
FMi2
FMi3
Modality
AcquisitionFormat
DICOM
Medical
Image
T1 T2
FMin
Modality
AcquisitionFormat
DICOM
Medical
Image
T1 T2Analyze
Concurrency
Managing Variability in Workflow with Feature Model Composition Operators 30
FService1
Output Dataport
FService2
Input Dataport
FService3
Input Dataport
FMi2
FMi3
FMo1
FServicen
Input Dataport
FMin
Modality
AcquisitionFormat
Medical
Image
T1 T2DICOM
FMo1
Anonymized
NiftiDICOM
Modality
AcquisitionFormat
Medical
Image
T1 T2
FMi2
FMi3
Modality
AcquisitionFormat
DICOM
Medical
Image
T1 T2
FMin
Modality
AcquisitionFormat
DICOM
Medical
Image
T1 T2Analyze
Xor
Condition
Managing Variability in Workflow with Feature Model Composition Operators 31
FService3
Functional Interface
FMep3
FService2
Functional Interface
FMep2
FService1
Functional Interface
FMep1
Guard FService4
Functional Interface
FMep4
Condition
Managing Variability in Workflow with Feature Model Composition Operators 32
FService3
Functional Interface
FMep3
FService2
Functional Interface
FMep2
FService1
Functional Interface
FMep1
Guard FService4
Functional Interface
FMep4
Condition
Managing Variability in Workflow with Feature Model Composition Operators 33
FService3
Functional Interface
FMep3
FService2
Functional Interface
FMep2
FService1
Functional Interface
FMep1
Guard FService4
Functional Interface
FMep4
Condition
Managing Variability in Workflow with Feature Model Composition Operators 34
FService3
Functional Interface
FMep3
FService2
Functional Interface
FMep2
FService1
Functional Interface
FMep1
Guard FService4
Functional Interface
FMep4
“Union” of the two paths
Merge Operator: Union
Managing Variability in Workflow with Feature Model Composition Operators 35
FM2T2
MRI
T1FM1
T2
MRI
T1
{{MRI, T1}, {MRI, T1, T2}}
{{MRI, T1}, {MRI, T2}}
{{MRI, T1},{MRI, T1, T2},{MRI, T2}}
T2
MRI
T1
Benefits
• Automated detection of inconsistency at design or at configuration time
• Separation of Concerns– locate the source of errors and give information to
assist users
– incremental and independent reasoning
• The merge contributes to decrease the number of remaining variability choices.– can reduce the amount of time and effort needed
during the configuration process
Managing Variability in Workflow with Feature Model Composition Operators 36
Variability in Workflow
Managing the
in the entire processing chain
Managing Variability in Workflow with Feature Model Composition Operators 37
Scalability? 40 features per Service, 360 features for the workflow…
Prototype Implementation
• http://modalis.polytech.unice.fr/softwares/manvarwor
• We provide:– Ecore metamodels of workflow, service, joinpoint
– a Domain-Specific Language (DSL) to specify where the variable concerns are attached to specific joinpoint into a workflow model
– a DSL to design variable concerns and feature models
• Realization in Kermeta– Dependencies analysis between variable concerns at the workflow level
– Reasoning about variable concerns at the feature model level
Managing Variability in Workflow with Feature Model Composition Operators 38
Conclusion
• Separation of Concerns for managing highly parameterized services in scientific workflow.
– (1) Modeling workflows, services, (variable) concerns and their dependencies
– (2) Composing and configuring services and associated concerns boils down to composing feature models
– (3) Feature models composition operator are used on different constructions of workflow
Managing Variability in Workflow with Feature Model Composition Operators 39
Future Work• Dealing with feature model constraints
– relations can exist between variables concerns of a service / two services
• Aligning Feature Models
• Generalization of the approach to any (workflow or service) metamodel
• Evaluation on the case study
– practical use of the approach
– scalability on large workflows
Managing Variability in Workflow with Feature Model Composition Operators 40
?