41
Managing Variability in Workflow with Feature Model Composition Operators Mathieu Acher 1 , Philippe Collet 1 , Philippe Lahire 1 , Robert France 2 1 University of Nice Sophia Antipolis (France), Modalis Team (CNRS, I3S Laboratory) 2 Computer Science Department, Colorado State University

Managing Variability in Workflow with Feature Model Composition Operators

  • Upload
    acher

  • View
    1.120

  • Download
    1

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

Page 1: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 2: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 3: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 4: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 5: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 6: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 7: Managing Variability in Workflow with  Feature Model Composition Operators

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?)

Page 8: Managing Variability in Workflow with  Feature Model Composition Operators

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)?

Page 9: Managing Variability in Workflow with  Feature Model Composition Operators

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)?

Page 10: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 11: Managing Variability in Workflow with  Feature Model Composition Operators

Variability in Workflow

Managing the variability

in the entire processing chain

Managing Variability in Workflow with Feature Model Composition Operators 11

Page 12: Managing Variability in Workflow with  Feature Model Composition Operators

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…

Page 13: Managing Variability in Workflow with  Feature Model Composition Operators

Overview of the Approach

Managing Variability in Workflow with Feature Model Composition Operators 13

Page 14: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 15: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 16: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 17: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 18: Managing Variability in Workflow with  Feature Model Composition Operators

Modeling Weaving of Concern

Managing Variability in Workflow with Feature Model Composition Operators 18

Page 19: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 20: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 21: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 22: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 23: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 24: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 25: Managing Variability in Workflow with  Feature Model Composition Operators

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)

Page 26: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 27: Managing Variability in Workflow with  Feature Model Composition Operators

Configurating and Propagating Choices

Managing Variability in Workflow with Feature Model Composition Operators 27

Page 28: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 29: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 30: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 31: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 32: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 33: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 34: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 35: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 36: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 37: Managing Variability in Workflow with  Feature Model Composition Operators

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…

Page 38: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 39: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 40: Managing Variability in Workflow with  Feature Model Composition Operators

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

Page 41: Managing Variability in Workflow with  Feature Model Composition Operators

?