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
                                            Medical Image Format:
                                                           DICOM?
                                                           Nifti?
                                                           Analyze?
                                              Modality Acquisition:
                                                            MRI?
                                                            CT?
                                                            PET?
                                              Algorithm:
                                                            User intervention?
                                                            Method (spatial? frequency?)
                                                            Transformation (Linear? Affine?)


                         Managing Variability in Workflow with
                         Feature Model Composition Operators                                   7
Services: A lot of Concerns
• Highly Parameterized Services
   – efficiently extend, change, customize, or configure services
     from various perspectives for use in a particular context
                                                      Medical Image Format:
                                                                     DICOM?
 Grid Deployment:                                                    Nifti?
                                                                     Analyze?
             Operation System?
             Library ?
             Processor required?                        Modality Acquisition:
                                                                       MRI?
                                                                       CT?
 Network :                                                             PET?

             Protocol?
             Format?                                    Algorithm:
                                                                       User intervention?
                                                                       Method (spatial? frequency?)
                                                                       Transformation (Linear? Affine?)
 Security:
             Data?
             Level Access (VO)?

                                   Managing Variability in Workflow with
                                   Feature Model Composition Operators                                    8
Services: A lot of Concerns
• Highly Parameterized Services
     – efficiently extend, change, customize, or configure services
       from various perspectives for use in a particular context
                                                        Medical Image Format:
                                                                       DICOM?
 Grid Deployment:                                                      Nifti?
               Operation System?                                       Analyze?
               Library ?
               Processor required?

                                                          Modality Acquisition:
                                                                         MRI?
                                                                         CT?
  Network       :
                                                                         PET?
                Protocol?
                Format?
                                                          Algorithm:
                                                                         User intervention?
                                                                         Method (spatial? frequency?)
 Security:                                                               Transformation (Linear? Affine?)
               Data?
               Level Access (VO)?




                                     Managing Variability in Workflow with
                                     Feature Model Composition Operators                                    9
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                            Grid Deployment
                                                                      Concern


   – to enhance reusability
• …and across services
   – to enhance composability                                     Network Protocol
                                                                      Concern
                                                                                     Medical Image
                                                                                       Concern




                          Managing Variability in Workflow with
                          Feature Model Composition Operators                                        10
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




Scalability?
40 features per
Service, 360
features for the
workflow…                Managing Variability in Workflow with
                         Feature Model Composition Operators     12
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

                                                                                                                           1
                                                                                                                                         Workflow
                                                              Dataport

                                              -input   1..*           -output      1..*




                                                       1                        1                              1..*    -processors                         0..*    -relations
                                1                1                                 -realizedBy                                       -left
 DeploymentInformation                                        Service
                                                                                                              Process                1                    Relation
                                -deployment                                        1                    -id : String                 -right
                                                                                                    1                                               -id : String
                                                                1
                                                                                                                                     1
                                                              1..*   -operations
GridDeploymentInformation                         FunctionalInterface
                                                                                                 Source                         Sink
                   1                                            1


                   1   -nodes                                 1..*   -parameters
      ComputingNode                                        Parameter
   -uri : String                                                                                               Variable               -condition           Guard
                                                                                                          -name : String                            -value : Boolean
                                                                                                                                      1




                                                           Managing Variability in Workflow with
                                                           Feature Model Composition Operators                                                                                  16
Metamodel of Workflow and Service
                                                                                                                                          1
                                                                                                                                                        Workflow
                                                                             Dataport

                                                             -input   1..*           -output      1..*




                                                                      1                        1                              1..*    -processors                         0..*    -relations
                                               1                1                                 -realizedBy                                       -left
                DeploymentInformation                                        Service
                                                                                                                             Process                1                    Relation
                                               -deployment                                        1                    -id : String                 -right
                                                                                                                   1                                               -id : String
                                                                               1
                                                                                                                                                    1
                                                                             1..*   -operations
               GridDeploymentInformation                         FunctionalInterface
                                                                                                                Source                         Sink
                                  1                                            1


                                  1   -nodes                                 1..*   -parameters
                     ComputingNode                                        Parameter
                  -uri : String                                                                                               Variable               -condition           Guard
                                                                                                                         -name : String                            -value : Boolean
                                                                                                                                                     1




                                                                                                                                                                         Sink
                                                                                                                 Segmentation



            Intensity
           Correction
Source

                                                                                                                                                                         Sink
                                                                                                                       Unbias
                                                                                                                                                                                               Service
                                                                                                                                                                                               Element




                                                                 Managing Variability in Workflow with
                                                                 Feature Model Composition Operators                                                                                                     17
Modeling Weaving of Concern




        Managing Variability in Workflow with
        Feature Model Composition Operators     18
Weaving of Variable Concern




     Instance of Joinpoint

     Weaving                                  FService1
                                                Output Dataport

                             Medical
                             Image           FMo1

           Format       Modality
                                            Anonymized
                       Acquisition


      DICOM          T1                T2




                     Managing Variability in Workflow with
                     Feature Model Composition Operators          19
Concerns as Feature Models
• Hierarchy + Variability
  – Mandatory features, Optional features
  – Alternatives and Constraints
                       Medical Image




      Modality Acquisition                 Format             Anonymized



     MRI   CT SPEC       PET         DICOM         Nifti     Analyze

                                And-Group           Xor-Group
     T1    T2                  Optional              Or-Group
                             Managing Variability in Workflow with
                               Mandatory
                             Feature Model Composition Operators           20
Concerns as Feature Models
• Hierarchy + Variability
  – Mandatory features, Optional features
  – Alternatives and Constraints
                       Medical Image




      Modality Acquisition                 Format             Anonymized



     MRI   CT SPEC       PET         DICOM         Nifti     Analyze

                                And-Group           Xor-Group
     T1    T2                  Optional              Or-Group
                               Mandatory
                             Managing Variability in Workflow with
                             Feature Model Composition Operators           21
Variable Concern Dependency Modeling
    Instance of Joinpoint

    Weaving                           FService1                      FService2
                                         Output Dataport            Input Dataport


                                                                                     FMi2
                            FMo1




                                   Managing Variability in Workflow with
                                   Feature Model Composition Operators                      22
Variable Concern Dependency Modeling
    Instance of Joinpoint

    Weaving                           FService1                      FService2
                                         Output Dataport            Input Dataport


                                                                                     FMi2
                            FMo1




                                   Managing Variability in Workflow with
                                   Feature Model Composition Operators                      23
Variable Concern Dependency Modeling
                                                                       FMfi2
                                  FMfi1

    Instance of Joinpoint
                                    Functional Interface            Functional Interface



                                    FService1                          FService2
                                      Grid Node                           Grid Node
   Weaving                                                                                 FMg2
                                       Output Dataport               Input Dataport
                   FMg1
                                          FMo1                               FMi2




                            Managing Variability in Workflow with
                            Feature Model Composition Operators                              24
Reasoning: Merge Operator
    Instance of Joinpoint

    Weaving                                  FService1                          FService2
                                                Output Dataport               Input Dataport

                            Medical                                                                 Medical
                            Image           FMo1                                                    Image            FMi2

          Format       Modality                                                                                Modality
                                           Anonymized                                  Format
                      Acquisition                                                                             Acquisition


     DICOM          T1                T2                                          DICOM         Nifti         T1            T2




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)
                                               Managing Variability in Workflow with
                                               Feature Model Composition Operators                                               25
Feature Model Operator in Action
Instance of Joinpoint

Weaving                                  FService1                          FService2
                                            Output Dataport               Input Dataport

                        Medical                                                                     Medical
                        Image           FMo1                                                        Image            FMi2

                   Modality                                                                                    Modality
      Format
                  Acquisition
                                       Anonymized
                                                              +∩                       Format
                                                                                                              Acquisition


 DICOM          T1                T2                                          DICOM             Nifti         T1            T2



                                                          Medical
                                                          Image            FMr

                                                                     Modality
                                              Format                                        (intersection)
                                                                    Acquisition



                                         DICOM                      T1            T2


                                           Managing Variability in Workflow with
                                           Feature Model Composition Operators                                                   26
Configurating and Propagating Choices




            Managing Variability in Workflow with
            Feature Model Composition Operators     27
Feature Model Operator in Action (2)
                                                          FMi2                          FMo2                          FMi3                               FMin          FMon
FMi1                        FMo1                                                                                                                FMo3


     Input          Output                                         Input          Output                                   Input         Output            Input      Output
    Dataport       Dataport                                       Dataport       Dataport                                 Dataport      Dataport          Dataport   Dataport
      FService1                                                       FService2                                                FService3                    FServicen
     Functional Interface                                          Functional Interface                                       Functional Interface         Functional Interface



               A
                        FMep1                                              A
                                                                                       FMep2                                        A       FMep3                FMepn
     B              F                                             B                    F                                  B                 F

                                            +∩                                                          +∩
C        D         G            H                         C       D    E           G        H                         M         E       G        H


                        I           J                                                   I                                                   I        J




                                            A        FMep'2                                         A        FMep'3
                                    B                F                                      B                F

                                                                           +∩
                            C           D        G            H                                 E        G        H
                                                                           error

                                                      I                                                       I


                                                                               Managing Variability in Workflow with
                                                                               Feature Model Composition Operators                                                         28
Concurrency
                                                                                                                        Medical
                                                                                                                        Image               FMi2

                                                                                                                                   Modality
                                                                                                          Format
                                                                                                                                  Acquisition
                                                                                  FService2
                                                                                   Input Dataport
                                                                                                       DICOM        Nifti         T1            T2



                                         FService1                                          FMi2
                                             Output Dataport                                                                Medical
                                                                                                                            Image             FMi3

                                                                                  FService3                    Format
                                                                                                                                        Modality
                                                                                                                                       Acquisition
                 Medical
                 Image           FMo1             FMo1                              Input Dataport
                                                                                                        DICOM                          T1            T2

   Format     Modality
                                Anonymized
             Acquisition
                                                                                            FMi3
                                                                                                                        Medical
DICOM       T1             T2                                                                                           Image               FMin

                                                                                   FServicen             Format
                                                                                                                                   Modality
                                                                                                                                  Acquisition
                                                                                     Input Dataport
                                                                                                      DICOM      Analyze          T1            T2


                                                                                          FMin
                                                          Managing Variability in Workflow with
                                                          Feature Model Composition Operators                                                             29
Concurrency
                                                                                                                        Medical
                                                                                                                        Image               FMi2

                                                                                                                                   Modality
                                                                                                          Format
                                                                                                                                  Acquisition
                                                                                  FService2
                                                                                   Input Dataport
                                                                                                       DICOM        Nifti         T1            T2



                                         FService1                                          FMi2
                                             Output Dataport                                                                Medical
                                                                                                                            Image             FMi3

                                                                                  FService3                    Format
                                                                                                                                        Modality
                                                                                                                                       Acquisition
                 Medical
                 Image           FMo1             FMo1                              Input Dataport
                                                                                                        DICOM                          T1            T2

   Format     Modality
                                Anonymized
             Acquisition
                                                                                            FMi3
                                                                                                                        Medical
DICOM       T1             T2                                                                                           Image               FMin

                                                                                   FServicen             Format
                                                                                                                                   Modality
                                                                                                                                  Acquisition
                                                                                     Input Dataport
                                                                                                      DICOM      Analyze          T1            T2
    Xor
                                                                                          FMin
                                                          Managing Variability in Workflow with
                                                          Feature Model Composition Operators                                                             30
Condition


                                     FService3
                                    Functional Interface



                                                 FMep3

 FService1             Guard                                     FService4
Functional Interface                                            Functional Interface




     FMep1                                                                FMep4
                                     FService2
                                    Functional Interface




                                      FMep2
                        Managing Variability in Workflow with
                        Feature Model Composition Operators                            31
Condition


                                     FService3
                                    Functional Interface



                                                 FMep3

 FService1             Guard                                     FService4
Functional Interface                                            Functional Interface




     FMep1                                                                FMep4
                                     FService2
                                    Functional Interface




                                      FMep2
                        Managing Variability in Workflow with
                        Feature Model Composition Operators                            32
Condition


                                     FService3
                                    Functional Interface



                                                 FMep3

 FService1             Guard                                     FService4
Functional Interface                                            Functional Interface




     FMep1                                                                FMep4
                                     FService2
                                    Functional Interface




                                      FMep2
                        Managing Variability in Workflow with
                        Feature Model Composition Operators                            33
Condition


                                   “Union” of the two paths

                                FService3
                               Functional Interface



                                            FMep3

 FService1             Guard                           FService4
Functional Interface                                  Functional Interface




     FMep1                                                      FMep4
                                FService2
                               Functional Interface




                                FMep2

       Managing Variability in Workflow with
       Feature Model Composition Operators                                   34
Merge Operator: Union
          MRI                                                       MRI
                    FM1                        FM2
     T1       T2
                                                               T1     T2
{
{MRI, T1},                                                      {
{MRI, T2}                                                       {MRI, T1},
}                                                               {MRI, T1, T2}
                                                                }
                               MRI
          {{MRI, T1},
          {MRI, T1, T2}, T1             T2
          {MRI, T2}}
                       Managing Variability in Workflow with
                       Feature Model Composition Operators                      35
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




Scalability?
40 features per
Service, 360
features for the
workflow…                Managing Variability in Workflow with
                         Feature Model Composition Operators     37
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
?

Managing Variability in Workflow with Feature Model Composition Operators

  • 1.
    Managing Variability inWorkflow 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
  • 2.
    Context: Medical ImagingServices • 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
  • 3.
    Context: Medical ImagingServices • 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
  • 4.
    Context: Medical ImagingServices • 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
  • 5.
    Context: Medical ImagingGrid 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
  • 6.
    Context: Medical ImagingGrid 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
  • 7.
    Services: A lotof Concerns • Highly Parameterized Services – efficiently extend, change, customize, or configure services from various perspectives for use in a particular context Medical Image Format: DICOM? Nifti? Analyze? Modality Acquisition: MRI? CT? PET? Algorithm: User intervention? Method (spatial? frequency?) Transformation (Linear? Affine?) Managing Variability in Workflow with Feature Model Composition Operators 7
  • 8.
    Services: A lotof Concerns • Highly Parameterized Services – efficiently extend, change, customize, or configure services from various perspectives for use in a particular context Medical Image Format: DICOM? Grid Deployment: Nifti? Analyze? Operation System? Library ? Processor required? Modality Acquisition: MRI? CT? Network : PET? Protocol? Format? Algorithm: User intervention? Method (spatial? frequency?) Transformation (Linear? Affine?) Security: Data? Level Access (VO)? Managing Variability in Workflow with Feature Model Composition Operators 8
  • 9.
    Services: A lotof Concerns • Highly Parameterized Services – efficiently extend, change, customize, or configure services from various perspectives for use in a particular context Medical Image Format: DICOM? Grid Deployment: Nifti? Operation System? Analyze? Library ? Processor required? Modality Acquisition: MRI? CT? Network : PET? Protocol? Format? Algorithm: User intervention? Method (spatial? frequency?) Security: Transformation (Linear? Affine?) Data? Level Access (VO)? Managing Variability in Workflow with Feature Model Composition Operators 9
  • 10.
    Services as SoftwareProduct 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 Grid Deployment Concern – to enhance reusability • …and across services – to enhance composability Network Protocol Concern Medical Image Concern Managing Variability in Workflow with Feature Model Composition Operators 10
  • 11.
    Variability in Workflow Managingthe variability in the entire processing chain Managing Variability in Workflow with Feature Model Composition Operators 11
  • 12.
    Variability in Workflow Managing the in the entire processing chain Scalability? 40 features per Service, 360 features for the workflow… Managing Variability in Workflow with Feature Model Composition Operators 12
  • 13.
    Overview of theApproach Managing Variability in Workflow with Feature Model Composition Operators 13
  • 14.
    Overview of theApproach (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
  • 15.
    Overview of theApproach (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
  • 16.
    Metamodel of Workflowand Service 1 Workflow Dataport -input 1..* -output 1..* 1 1 1..* -processors 0..* -relations 1 1 -realizedBy -left DeploymentInformation Service Process 1 Relation -deployment 1 -id : String -right 1 -id : String 1 1 1..* -operations GridDeploymentInformation FunctionalInterface Source Sink 1 1 1 -nodes 1..* -parameters ComputingNode Parameter -uri : String Variable -condition Guard -name : String -value : Boolean 1 Managing Variability in Workflow with Feature Model Composition Operators 16
  • 17.
    Metamodel of Workflowand Service 1 Workflow Dataport -input 1..* -output 1..* 1 1 1..* -processors 0..* -relations 1 1 -realizedBy -left DeploymentInformation Service Process 1 Relation -deployment 1 -id : String -right 1 -id : String 1 1 1..* -operations GridDeploymentInformation FunctionalInterface Source Sink 1 1 1 -nodes 1..* -parameters ComputingNode Parameter -uri : String Variable -condition Guard -name : String -value : Boolean 1 Sink Segmentation Intensity Correction Source Sink Unbias Service Element Managing Variability in Workflow with Feature Model Composition Operators 17
  • 18.
    Modeling Weaving ofConcern Managing Variability in Workflow with Feature Model Composition Operators 18
  • 19.
    Weaving of VariableConcern Instance of Joinpoint Weaving FService1 Output Dataport Medical Image FMo1 Format Modality Anonymized Acquisition DICOM T1 T2 Managing Variability in Workflow with Feature Model Composition Operators 19
  • 20.
    Concerns as FeatureModels • Hierarchy + Variability – Mandatory features, Optional features – Alternatives and Constraints Medical Image Modality Acquisition Format Anonymized MRI CT SPEC PET DICOM Nifti Analyze And-Group Xor-Group T1 T2 Optional Or-Group Managing Variability in Workflow with Mandatory Feature Model Composition Operators 20
  • 21.
    Concerns as FeatureModels • Hierarchy + Variability – Mandatory features, Optional features – Alternatives and Constraints Medical Image Modality Acquisition Format Anonymized MRI CT SPEC PET DICOM Nifti Analyze And-Group Xor-Group T1 T2 Optional Or-Group Mandatory Managing Variability in Workflow with Feature Model Composition Operators 21
  • 22.
    Variable Concern DependencyModeling Instance of Joinpoint Weaving FService1 FService2 Output Dataport Input Dataport FMi2 FMo1 Managing Variability in Workflow with Feature Model Composition Operators 22
  • 23.
    Variable Concern DependencyModeling Instance of Joinpoint Weaving FService1 FService2 Output Dataport Input Dataport FMi2 FMo1 Managing Variability in Workflow with Feature Model Composition Operators 23
  • 24.
    Variable Concern DependencyModeling FMfi2 FMfi1 Instance of Joinpoint Functional Interface Functional Interface FService1 FService2 Grid Node Grid Node Weaving FMg2 Output Dataport Input Dataport FMg1 FMo1 FMi2 Managing Variability in Workflow with Feature Model Composition Operators 24
  • 25.
    Reasoning: Merge Operator Instance of Joinpoint Weaving FService1 FService2 Output Dataport Input Dataport Medical Medical Image FMo1 Image FMi2 Format Modality Modality Anonymized Format Acquisition Acquisition DICOM T1 T2 DICOM Nifti T1 T2 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) Managing Variability in Workflow with Feature Model Composition Operators 25
  • 26.
    Feature Model Operatorin Action Instance of Joinpoint Weaving FService1 FService2 Output Dataport Input Dataport Medical Medical Image FMo1 Image FMi2 Modality Modality Format Acquisition Anonymized +∩ Format Acquisition DICOM T1 T2 DICOM Nifti T1 T2 Medical Image FMr Modality Format (intersection) Acquisition DICOM T1 T2 Managing Variability in Workflow with Feature Model Composition Operators 26
  • 27.
    Configurating and PropagatingChoices Managing Variability in Workflow with Feature Model Composition Operators 27
  • 28.
    Feature Model Operatorin Action (2) FMi2 FMo2 FMi3 FMin FMon FMi1 FMo1 FMo3 Input Output Input Output Input Output Input Output Dataport Dataport Dataport Dataport Dataport Dataport Dataport Dataport FService1 FService2 FService3 FServicen Functional Interface Functional Interface Functional Interface Functional Interface A FMep1 A FMep2 A FMep3 FMepn B F B F B F +∩ +∩ C D G H C D E G H M E G H I J I I J A FMep'2 A FMep'3 B F B F +∩ C D G H E G H error I I Managing Variability in Workflow with Feature Model Composition Operators 28
  • 29.
    Concurrency Medical Image FMi2 Modality Format Acquisition FService2 Input Dataport DICOM Nifti T1 T2 FService1 FMi2 Output Dataport Medical Image FMi3 FService3 Format Modality Acquisition Medical Image FMo1 FMo1 Input Dataport DICOM T1 T2 Format Modality Anonymized Acquisition FMi3 Medical DICOM T1 T2 Image FMin FServicen Format Modality Acquisition Input Dataport DICOM Analyze T1 T2 FMin Managing Variability in Workflow with Feature Model Composition Operators 29
  • 30.
    Concurrency Medical Image FMi2 Modality Format Acquisition FService2 Input Dataport DICOM Nifti T1 T2 FService1 FMi2 Output Dataport Medical Image FMi3 FService3 Format Modality Acquisition Medical Image FMo1 FMo1 Input Dataport DICOM T1 T2 Format Modality Anonymized Acquisition FMi3 Medical DICOM T1 T2 Image FMin FServicen Format Modality Acquisition Input Dataport DICOM Analyze T1 T2 Xor FMin Managing Variability in Workflow with Feature Model Composition Operators 30
  • 31.
    Condition FService3 Functional Interface FMep3 FService1 Guard FService4 Functional Interface Functional Interface FMep1 FMep4 FService2 Functional Interface FMep2 Managing Variability in Workflow with Feature Model Composition Operators 31
  • 32.
    Condition FService3 Functional Interface FMep3 FService1 Guard FService4 Functional Interface Functional Interface FMep1 FMep4 FService2 Functional Interface FMep2 Managing Variability in Workflow with Feature Model Composition Operators 32
  • 33.
    Condition FService3 Functional Interface FMep3 FService1 Guard FService4 Functional Interface Functional Interface FMep1 FMep4 FService2 Functional Interface FMep2 Managing Variability in Workflow with Feature Model Composition Operators 33
  • 34.
    Condition “Union” of the two paths FService3 Functional Interface FMep3 FService1 Guard FService4 Functional Interface Functional Interface FMep1 FMep4 FService2 Functional Interface FMep2 Managing Variability in Workflow with Feature Model Composition Operators 34
  • 35.
    Merge Operator: Union MRI MRI FM1 FM2 T1 T2 T1 T2 { {MRI, T1}, { {MRI, T2} {MRI, T1}, } {MRI, T1, T2} } MRI {{MRI, T1}, {MRI, T1, T2}, T1 T2 {MRI, T2}} Managing Variability in Workflow with Feature Model Composition Operators 35
  • 36.
    Benefits • Automated detectionof 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
  • 37.
    Variability in Workflow Managing the in the entire processing chain Scalability? 40 features per Service, 360 features for the workflow… Managing Variability in Workflow with Feature Model Composition Operators 37
  • 38.
    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
  • 39.
    Conclusion • Separation ofConcerns 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
  • 40.
    Future Work • Dealingwith 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
  • 41.