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.
Similar content being viewed by others
Notes
A core feature is a feature that appears in every configuration of an FM.
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 .
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.
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
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.
The number of initial configurations is computed by considering FMs without inter-/compatibility constraints.
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.
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.
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.
Beuche, D., Papajewski, H., & Schrader-Preikschat, W. (2004). Variability management with feature models. Science of Computer Programming, 53(3), 333–352.
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.
Clements, P., & Northrop, L. M. (2001). Software product lines : Practices and patterns. Reading, MA: Wesley.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-011-9170-7