Skip to main content
Log in

Composing multiple variability artifacts to assemble coherent workflows

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The development of scientific workflows is evolving toward the systematic use of service-oriented architectures, enabling the composition of dedicated and highly parameterized software services into processing pipelines. Building consistent workflows then becomes a cumbersome and error-prone activity as users cannot manage such large-scale variability. This paper presents a rigorous and tooled approach in which techniques from Software Product Line (SPL) engineering are reused and extended to manage variability in service and workflow descriptions. Composition can be facilitated while ensuring consistency. Services are organized in a rich catalog which is organized as a SPL and structured according to the common and variable concerns captured for all services. By relying on sound merging techniques on the feature models that make up the catalog, reasoning about the compatibility between connected services is made possible. Moreover, an entire workflow is then seen as a multiple SPL (i.e., a composition of several SPLs). When services are configured within, the propagation of variability choices is then automated with appropriate techniques and the user is assisted in obtaining a consistent workflow. The approach proposed is completely supported by a combination of dedicated tools and languages. Illustrations and experimental validations are provided using medical imaging pipelines, which are representative of current scientific workflows in many domains.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. In this paper, we consider only FMs in their basic form (Czarnecki et al. 2006). We do not consider other notations nor richer formalisms (e.g., cardinality-based FMs Czarnecki et al. 2005).

  2. In the literature (Segura et al. 2008; Acher et al. 2009), there exists another union mode, which is less restrictive in terms of sets of configurations expected from the resulting FM than the strict union mode defined in this paper.

  3. A core feature is a feature that appears in every configuration of an FM.

  4. The two features Analyze have the same name but are different entities. To avoid ambiguity, we use a qualified feature name including the root feature when needs be (e.g., to distinguish the Analyze feature of MIMoving from the Analyze feature of MIFixed . In this specific case, the merge operator described in Sect. 3.3 makes internally the distinction such that MIMoving.Analyze does not match with MIMoving.Analyze .

  5. Some alignment issues may occur when merging two FMs. For example, a naive aggregation of FMs can lead to an aggregated FM without the structuring feature MIInput , and thus disturbs the merging process. We provide to the user the ability to specify some pre-directives before merging FMs. The FM alignment problem is more general and further discussed in Sect. 6.

  6. It may be for practical reasons (e.g., convention) or for better characterizing the high-level concept for which the FM applies. In the example, rather than always using Medical Image , users prefer to be more precise for describing the kind of medical image associated to an FM. This issue is an instance of the FM alignment problem which is further discussed in Sect. 6

  7. The size of scientific workflows varies depending on the domain (e.g., bioinformatics, medical imaging). In the medical imaging domain, the presence of 24 services can be considered as a large workflow, even though larger workflows have been developed.

  8. The number of initial configurations is computed by considering FMs without inter-/compatibility constraints.

  9. Two features are distinct if their names are distinct.

References

  • Acher, M., Collet, P., Lahire, P., & France, R. (2009). Composing Feature models. In 2nd International conference on software language engineering (SLE’09), LNCS (pp. 62–81). New York: Springer.

  • Acher, M., Collet, P., Lahire, P., & France, R. (2010a). Comparing approaches to implement feature model composition. In 6th European conference on modelling foundations and applications (ECMFA) (Vol. 6138 of LNCS, pp. 3–19). New York: Springer.

  • Acher, M., Collet, P., Lahire, P., & France, R. (2010b). Managing variability in worklow with feature model composition operators. In 9th International conference on software composition (SC’10) (Vol. 6144 of LNCS, pp. 17–33). New York: Springer.

  • Acher, M., Collet, P., Lahire, P., & France, R. (2011a). A domain-specific language for managing feature models. In 26th International symposium on applied computing (SAC’11) (pp. 1333–1340). Taiwan: Programming Languages Track, ACM.

  • Acher, M., Collet, P., Lahire, P., & France, R. (2011b). Slicing feature models. In 26th IEEE/ACM international conference on automated software engineering (ASE’11), short paper, Lawrence, USA: IEEE/ACM.

  • Acher, M., Collet, P., Lahire, P., Moisan, S., & Rigault, J.-P. (2011c). Modeling variability from requirements to runtime. In 16th International conference on engineering of complex computer systems (ICECCS’11) (pp. 77–86). Las Vegas: IEEE.

  • Acher, M., Collet, P., Lahire, P., & Montagnat, J. (2008). Imaging services on the grid as a product line: Requirements and architecture. In Service-oriented architectures and software product lines—putting both together (SOAPL’08) (Associated workshop issue of SPLC 2008), IEEE Computer Society.

  • Alves, V., Gheyi, R., Massoni, T., Kulesza, U., Borba, P., & Lucena, C. (2006). Refactoring product lines. In Proceedings of GPCE’2006 (pp. 201–210). New York: ACM.

  • Apel, S., & Kästner, C. (2009). An overview of feature-oriented software development. Journal of Object Technology (JOT), 8(5), 49–84.

    Article  Google Scholar 

  • Apel, S., Lengauer, C., Moller, B., & Kastner, C. (2008). An algebra for features and feature composition. In 12th International conference on algebraic methodology and software technology (AMAST ’08) (Vol. 5140 of LNCS, pp. 36–50). New York: Springer.

  • Baniassad, E. & Clarke, S. (2004). Theme: An approach for aspect-oriented analysis and design. In ICSE’04, pp. 158–167. IEEE.

  • Baniassad, E., Clements, P. C., Araujo, J., Moreira, A., Rashid, A., & Tekinerdogan, B. (2006). Discovering early aspects. IEEE Software, 23(1), 61–70.

    Article  Google Scholar 

  • Batory, D., Liu, J., & Sarvela, J. N. (2003). Refinements and multi-dimensional separation of concerns. In ESEC’03: Proceedings of the 9th European software engineering conference (pp. 48–57). Helsinki, Finland: ACM.

  • Batory, D. S. (2005). Feature models, grammars, and propositional formulas. In 9th International software product line conference (SPLC’05), Vol. 3714 of LNCS, pp. 7–20.

  • Benavides, D., Segura, S., & Ruiz-Cortés, A. (2010). Automated analysis of feature models 20 years later: A literature review. Information Systems, 35, 615–636.

    Article  Google Scholar 

  • Beuche, D., Papajewski, H., & Schrader-Preikschat, W. (2004). Variability management with feature models. Science of Computer Programming, 53(3), 333–352.

    Article  MathSciNet  MATH  Google Scholar 

  • Boffoli, N., Caivano, D., Castelluccia, D., Maggi, F. M., & Visaggio, G. (2008). Business process lines to develop service-oriented architectures through the software product lines paradigm. In Thiel, S. & Pohl, K. (Eds.), SPLC (2) (pp. 143–147). Limerick, Ireland.

  • Bosch, J. (2009). From software product lines to software ecosystems. In Proceedings of SPLC’2009 (Vol. 446 of ICPS, pp. 111–119). New York: ACM.

  • Boucher, Q., Classen, A., Faber, P., & Heymans, P. (2010). Introducing TVL, a text-based feature modelling language. In 4th International workshop on variability modelling of software-intensive systems (VaMoS’10), pp. 159–162.

  • Buhne, S., Lauenroth, K., & Pohl, K. (2005). Modelling requirements variability across product lines. In RE ’05: Proceedings of the 13th IEEE international conference on requirements engineering (pp. 41–52). Washington, DC: IEEE Computer Society.

  • Charfi, A. & Mezini, M. (2007). AO4BPEL: An aspect-oriented extension to BPEL. World Wide Web, 10(3), 309–344.

    Article  Google Scholar 

  • Clements, P., & Northrop, L. M. (2001). Software product lines : Practices and patterns. Reading, MA: Wesley.

    Google Scholar 

  • Czarnecki, K. & Antkiewicz, M. (2005). Mapping features to models: A template approach based on superimposed variants. In GPCE’05, Vol. 3676 of LNCS, pp. 422–437.

  • Czarnecki, K. & Eisenecker, U. (2000). Generative programming: Methods, tools, and applications. Reading, MA: Wesley.

    Google Scholar 

  • Czarnecki, K., Helsen, S., & Eisenecker, U. (2005). Staged configuration through specialization and multilevel configuration of feature models. Software Process: Improvement and Practice, 10(2), 143–169.

    Article  Google Scholar 

  • Czarnecki, K., Kim, C. H. P., & Kalleberg, K. T. (2006). Feature models are views on ontologies. In SPLC ’06: Proceedings of the 10th international on software product line conference (pp. 41–51). Washington, DC: IEEE Computer Society.

  • Czarnecki, K., & Pietroszek, K. (2006). Verifying feature-based model templates against well-formedness ocl constraints. In GPCE’06, pp. 211–220. New York: ACM.

  • Czarnecki, K., & Wąsowski, A. (2007). Feature diagrams and logics: There and back again. In 11th International software product line conference (SPLC’07), pp. 23–34. IEEE.

  • Dustdar, S., & Schreiner, W. (2005). A survey on web services composition. International Journal of Web Grid Services, 1(1), 1–30.

    Article  Google Scholar 

  • Fagereng Johansen, M., Fleurey, F., Acher, M., Collet, P., & Lahire, P. (2010). Exploring the synergies between feature models and ontologies. In International workshop on model-driven approaches in software product line engineering (MAPLE 2010) (Vol. 2 of SPLC ’10, pp. 163–171). Jeju Island, South Korea: Lancester University.

  • Fantinato, M., de Toledo, M. B. F., & de Souza Gimenes, I. M. (2008). Ws-contract establishment with qos: An approach based on feature modeling. International Journal of Cooperative Information Systems, 17(3), 373–407.

    Article  Google Scholar 

  • Foster, I., Kesselman, C., Nick, J., & Tuecke, S. (2002). The physiology of the grid: An open grid services architecture for distributed systems integration. Technical report, Open Grid Service Infrastructure WG, GGF.

  • France, R., Georg, G., & Ray, I. (2003). Supporting multi-dimensional separation of design concerns. In 3rd workshop on AOM with UML at AOSD’03.

  • Gil, Y., Deelman, E., Ellisman, M. H., Fahringer, T., Fox, G., Gannon, D., Goble, C. A., Livny, M., Moreau, L., & Myers, J. (2007). Examining the challenges of scientific workflows. IEEE Computer, 40(12), 24–32.

    Article  Google Scholar 

  • Glatard, T., Montagnat, J., Lingrand, D., & Pennec, X. (2008). Flexible and efficient workflow deployment of data-intensive applications on grids with moteur. International Journal of High Performance Computing Applications, 22, 347–360.

    Article  Google Scholar 

  • Gottschalk, F., van der Aalst, W. M. P., Jansen-Vullers, M. H., & Rosa, M. L. (2008). Configurable workflow models. International Journal of Cooperative Information Systems, 17(2), 177–221.

    Article  Google Scholar 

  • Hartmann, H. & Trew, T. (2008). Using feature diagrams with context variability to model multiple product lines for software supply chains. In 12th International software product line conference (SPLC’08) (pp. 12–21). Washington, DC: IEEE.

  • Hartmann, H., Trew, T., & Matsinger, A. (2009). Supplier independent feature modelling. In 13th International software product line conference (SPLC’09) (pp. 191–200). Washington, DC: IEEE.

  • Heidenreich, F., Sanchez, P., Santos, J., Zschaler, S., Alferez, M., Araujo, J., Fuentes, L., amd Ana Moreira, U. K., & Rashid, A. (2010). Relating feature models to other models of a software product line: A comparative study of featuremapper and vml*. Transactions on Aspect-Oriented Software Development VII, Special Issue on A Common Case Study for Aspect-Oriented Modeling, 6210, 69–114.

    Google Scholar 

  • Hubaux, A., Classen, A., & Heymans, P. (2009). Formal modelling of feature configuration workflows. In 13th International software product line conference (SPLC’09) (pp. 221–230). Washington, DC: IEEE.

  • Hubaux, A., Heymans, P., Schobbens, P.-Y., & Deridder, D. (2010). Towards multi-view feature-based configuration. In R. Wieringa & A. Persson (Eds.), REFSQ (Vol. 6182 of Lecture Notes in Computer Science, pp. 106–112). New York: Springer.

  • Janota, M. (2010). SAT solving in interactive configuration. PhD thesis, Department of Computer Science at University College Dublin.

  • Jayaraman, P. K., Whittle, J., Elkhodary, A. M., & Gomaa, H. (2007). Model composition in product lines and feature interaction detection using critical pair analysis. In MODELS’07, LNCS, Springer, pp. 151–165.

  • Kang, D., & Baik, D.-K. (2010). Bridging software product lines and service-oriented architectures for service identification using bpm and fm. In 9th IEEE/ACIS international conference on computer and information science (ICIS), 2010, pp. 755 –759.

  • Kang, K., Cohen, S., Hess, J., Novak, W., & Peterson, S. (1990). Feature-oriented domain analysis (FODA). Technical report CMU/SEI-90-TR-21, SEI.

  • Kang, K., Kim, S., Lee, J., Kim, K., Shin, E., & Huh, M. (1998). FORM: A feature-oriented reuse method with domain-specific reference architectures. Annals of Software Engineering, 5(1), 143–168.

    Article  Google Scholar 

  • Kästner, C., Thüm, T., Saake, G., Feigenspan, J., Leich, T., Wielgorz, F., & Apel, S. (2009). Featureide: A tool framework for feature-oriented software development. In 31st International conference on software engineering (ICSE’09), tool demonstration, pp. 611–614.

  • Lee, J. & Kotonya, G. (2010). Combining service-orientation with product line engineering. IEEE Software, 27(3), 35–41.

    Article  Google Scholar 

  • Lorenzi, M., Ayache, N., Frisoni, G., & Pennec, X. (2010). 4d Registration of serial brain mr’s images: A robust measure of changes applied to alzheimer’s disease. In Miccai workshop on spatio-temporal image analysis for longitudinal and time-series image data. First prize award for the “Best Oral Presentation”, Beijing, China.

  • Maheshwari, K., Glatard, T., Schaerer, J., Delhay, B., Camarasu, S., Clarysse, P., et al. (2009). Towards production-level cardiac image analysis with grids. In HealthGrid’09, Berlin.

  • McPhillips, T., Bowers, S., Zinn, D., & Ludäscher, B. (2009). Scientific workflow design for mere mortals. Future Generation Computer Systems, 25, 541–551.

    Article  Google Scholar 

  • Mendonça, M. (2009). Efficient reasoning techniques for large scale feature models. Master’s thesis, University of Waterloo, Waterloo.

  • Mendonca, M., Branco, M., & Cowan, D. (2009). S.p.l.o.t.: Software product lines online tools. In OOPSLA ’09: Proceeding of the 24th ACM SIGPLAN conference companion on object oriented programming systems languages and applications (pp. 761–762). New York, NY: ACM.

  • Mendonca, M. & Cowan, D. (2010). Decision-making coordination and efficient reasoning techniques for feature-based configuration. Science of Computer Programming, 75(5), 311–332.

    Article  MathSciNet  MATH  Google Scholar 

  • Metzger, A., Pohl, K., Heymans, P., Schobbens, P.-Y., & Saval, G. (2007). Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In 15th IEEE international conference on requirements engineering (RE ’07), pp. 243–253.

  • Montagnat, J., Isnard, B., Glatard, T., Maheshwari, K., & Blay-Fornarino, M. (2009). A data-driven workflow language for grids based on array programming principles. In Workshop on workflows in support of large-scale science (WORKS’09) (pp. 1–10). Portland, USA: ACM.

  • Moreira, A., Rashid, A., & Araujo, J. (2005). Multi-dimensional separation of concerns in requirements engineering. In Requirements engineering (RE ’05), pp. 285–296. IEEE.

  • Nuseibeh, B., Kramer, J., & Finkelstein, A. (1993). Expressing the relationships between multiple views in requirements specification. In ICSE’93, pp. 187–196. IEEE.

  • Ogasawara, E., Paulino, C., Murta, L., Werner, C., & Mattoso, M. (2009). Experiment line: Software reuse in scientific workflows. In Proceedings of the 21st international conference on scientific and statistical database management, SSDBM 2009 (pp. 264–272). Berlin: Springer.

  • Ossher, H., Kaplan, M., Katz, A., Harrison, W., & Kruskal, V. (1996). Specifying subject-oriented composition. Theory and Practice of Object Systems, 2(3), 179–202.

    Article  Google Scholar 

  • Pernod, E., Souplet, J.-C., Rojas Balderrama, J., Lingrand, D., & Pennec, X. (2008). Multiple sclerosis brain MRI segmentation workflow deployment on the EGEE grid. pp. 55–64.

  • Perrouin, G., Klein, J., Guelfi, N., & Jézéquel, J.-M. (2008). Reconciling automation and flexibility in product derivation. In SPLC’08, pp. 339–348. IEEE.

  • Pohl, K., Böckle, G., & van der Linden, F. J. (2005). Software product line engineering: Foundations, principles and techniques. New York: Springer.

  • Reiser, M.-O. & Weber, M. (2007). Multi-level feature trees: A pragmatic approach to managing highly complex product families. Requirements Engineering, 12(2), 57–75.

    Article  Google Scholar 

  • Schnieders, A. & Puhlmann, F. (2007). Variability modeling and product derivation in e-business process families. In Abramowicz, W. & Mayr, H. C. (Eds.), Technologies for business information systems (pp 63–74). Netherlands: Springer.

  • Schobbens, P.-Y., Heymans, P., Trigaux, J.-C., & Bontemps, Y. (2007). Generic semantics of feature diagrams. Computer Networks, 51(2), 456–479.

    Article  MATH  Google Scholar 

  • Segura, S., Benavides, D., Ruiz-Cortes, A., & Trinidad, P. (2008). Automated merging of feature models using graph transformations. Post-proceedings of the Second Summer School on GTTSE, 5235, 489–505.

  • Svahnberg, M., van Gurp, J., & Bosch, J. (2005). A taxonomy of variability realization techniques: Research articles. Software Practice and Experience, 35(8), 705–754.

    Article  Google Scholar 

  • Tarr, P., Ossher, H., Harrison, W., & Sutton, Jr., S. M. (1999). N degrees of separation: Multi-dimensional separation of concerns. In 21st International Conference on Software Engineering (ICSE’99), pp. 107–119. ACM.

  • Temal, L., Dojat, M., Kassel, G., & Gibaud, B. (2008). Towards an ontology for sharing medical images and regions of interest in neuroimaging. Journal of Biomedical Informatics, 41(5), 766–778.

    Article  Google Scholar 

  • Thüm, T., Batory, D., & Kästner, C. (2009). Reasoning about edits to feature models. In 31st International conference on software engineering (ICSE’09), pp. 254–264. ACM.

  • Tun, T. T., Boucher, Q., Classen, A., Hubaux, A., & Heymans, P. (2009). Relating requirements and feature configurations: A systematic approach. In 13th International software product line conference (SPLC’09), pp. 201–210. IEEE.

  • van der Storm, T. (2004). Variability and component composition. In International conference on software reuse (ICSR’04), Vol. 3107 of LNCS (pp. 157–166). New York: Springer.

  • van Ommering, R. (2002). Building product populations with software components. In 22rd International conference on software engineering (ICSE’02), pp. 255–265. ACM.

  • van Ommering, R. & Bosch, J. (2002). Widening the scope of software product lines—from variation to composition. In Software product lines, pp. 31–52. LNCS.

  • Voelter, M. & Groher, I. (2007). Product line implementation using aspect-oriented and model-driven software development. In 11th International software product line conference (SPLC’07), pp. 233–242. IEEE Computer Society.

  • Wada, H., Suzuki, J., & Oba, K. (2007). A feature modeling support for non-functional constraints in service oriented architecture. In SCC’07, pp. 187–195.

  • White, J., Benavides, D., Schmidt, D. C., Trinidad, P., Dougherty, B., & Cortés, A. R. (2010). Automated diagnosis of feature model configurations. Journal of Systems and Software, 83(7), 1094–1107.

    Google Scholar 

  • White, J., Hill, J. H., Gray, J., Tambe, S., Gokhale, A. S., & Schmidt, D. C. (2009). Improving domain-specific language reuse with software product line techniques. IEEE Software, 26, 47–53.

    Article  Google Scholar 

  • Ziadi, T., & Jézéquel, J.-M. (2006). Product line engineering with the UML: Deriving products, chapter 15, pp. 557–586. Number 978-3-540-33252-7 in software product lines: Reasearch issues in engineering and management. New York: Springer.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mathieu Acher.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Acher, M., Collet, P., Gaignard, A. et al. Composing multiple variability artifacts to assemble coherent workflows. Software Qual J 20, 689–734 (2012). https://doi.org/10.1007/s11219-011-9170-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-011-9170-7

Keywords

Navigation