Advertisement

Software Quality Journal

, Volume 20, Issue 3–4, pp 689–734 | Cite as

Composing multiple variability artifacts to assemble coherent workflows

  • Mathieu Acher
  • Philippe Collet
  • Alban Gaignard
  • Philippe Lahire
  • Johan Montagnat
  • Robert B. France
Article

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.

Keywords

Software product lines Feature models Scientific workflows Composition 

References

  1. 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.Google Scholar
  2. 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.Google Scholar
  3. 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.Google Scholar
  4. 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.Google Scholar
  5. 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.Google Scholar
  6. 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.Google Scholar
  7. 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.Google Scholar
  8. 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.Google Scholar
  9. Apel, S., & Kästner, C. (2009). An overview of feature-oriented software development. Journal of Object Technology (JOT), 8(5), 49–84.CrossRefGoogle Scholar
  10. 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.Google Scholar
  11. Baniassad, E. & Clarke, S. (2004). Theme: An approach for aspect-oriented analysis and design. In ICSE’04, pp. 158–167. IEEE.Google Scholar
  12. Baniassad, E., Clements, P. C., Araujo, J., Moreira, A., Rashid, A., & Tekinerdogan, B. (2006). Discovering early aspects. IEEE Software, 23(1), 61–70.CrossRefGoogle Scholar
  13. 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.Google Scholar
  14. 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.Google Scholar
  15. 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.CrossRefGoogle Scholar
  16. Beuche, D., Papajewski, H., & Schrader-Preikschat, W. (2004). Variability management with feature models. Science of Computer Programming, 53(3), 333–352.MathSciNetzbMATHCrossRefGoogle Scholar
  17. 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.Google Scholar
  18. 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.Google Scholar
  19. 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.Google Scholar
  20. 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.Google Scholar
  21. Charfi, A. & Mezini, M. (2007). AO4BPEL: An aspect-oriented extension to BPEL. World Wide Web, 10(3), 309–344.CrossRefGoogle Scholar
  22. Clements, P., & Northrop, L. M. (2001). Software product lines : Practices and patterns. Reading, MA: Wesley.Google Scholar
  23. 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.Google Scholar
  24. Czarnecki, K. & Eisenecker, U. (2000). Generative programming: Methods, tools, and applications. Reading, MA: Wesley.Google Scholar
  25. 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.CrossRefGoogle Scholar
  26. 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.Google Scholar
  27. Czarnecki, K., & Pietroszek, K. (2006). Verifying feature-based model templates against well-formedness ocl constraints. In GPCE’06, pp. 211–220. New York: ACM.Google Scholar
  28. 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.Google Scholar
  29. Dustdar, S., & Schreiner, W. (2005). A survey on web services composition. International Journal of Web Grid Services, 1(1), 1–30.CrossRefGoogle Scholar
  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.Google Scholar
  31. 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.CrossRefGoogle Scholar
  32. 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.Google Scholar
  33. France, R., Georg, G., & Ray, I. (2003). Supporting multi-dimensional separation of design concerns. In 3rd workshop on AOM with UML at AOSD’03.Google Scholar
  34. 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.CrossRefGoogle Scholar
  35. 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.CrossRefGoogle Scholar
  36. 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.CrossRefGoogle Scholar
  37. 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.Google Scholar
  38. 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.Google Scholar
  39. 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
  40. 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.Google Scholar
  41. 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.Google Scholar
  42. Janota, M. (2010). SAT solving in interactive configuration. PhD thesis, Department of Computer Science at University College Dublin.Google Scholar
  43. 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.Google Scholar
  44. 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.Google Scholar
  45. Kang, K., Cohen, S., Hess, J., Novak, W., & Peterson, S. (1990). Feature-oriented domain analysis (FODA). Technical report CMU/SEI-90-TR-21, SEI.Google Scholar
  46. 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.CrossRefGoogle Scholar
  47. 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.Google Scholar
  48. Lee, J. & Kotonya, G. (2010). Combining service-orientation with product line engineering. IEEE Software, 27(3), 35–41.CrossRefGoogle Scholar
  49. 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.Google Scholar
  50. 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.Google Scholar
  51. McPhillips, T., Bowers, S., Zinn, D., & Ludäscher, B. (2009). Scientific workflow design for mere mortals. Future Generation Computer Systems, 25, 541–551.CrossRefGoogle Scholar
  52. Mendonça, M. (2009). Efficient reasoning techniques for large scale feature models. Master’s thesis, University of Waterloo, Waterloo.Google Scholar
  53. 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.Google Scholar
  54. Mendonca, M. & Cowan, D. (2010). Decision-making coordination and efficient reasoning techniques for feature-based configuration. Science of Computer Programming, 75(5), 311–332.MathSciNetzbMATHCrossRefGoogle Scholar
  55. 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.Google Scholar
  56. 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.Google Scholar
  57. Moreira, A., Rashid, A., & Araujo, J. (2005). Multi-dimensional separation of concerns in requirements engineering. In Requirements engineering (RE ’05), pp. 285–296. IEEE.Google Scholar
  58. Nuseibeh, B., Kramer, J., & Finkelstein, A. (1993). Expressing the relationships between multiple views in requirements specification. In ICSE’93, pp. 187–196. IEEE.Google Scholar
  59. 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.Google Scholar
  60. 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.CrossRefGoogle Scholar
  61. 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.Google Scholar
  62. 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.Google Scholar
  63. Pohl, K., Böckle, G., & van der Linden, F. J. (2005). Software product line engineering: Foundations, principles and techniques. New York: Springer.Google Scholar
  64. 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.CrossRefGoogle Scholar
  65. 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.Google Scholar
  66. Schobbens, P.-Y., Heymans, P., Trigaux, J.-C., & Bontemps, Y. (2007). Generic semantics of feature diagrams. Computer Networks, 51(2), 456–479.zbMATHCrossRefGoogle Scholar
  67. 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.Google Scholar
  68. Svahnberg, M., van Gurp, J., & Bosch, J. (2005). A taxonomy of variability realization techniques: Research articles. Software Practice and Experience, 35(8), 705–754.CrossRefGoogle Scholar
  69. 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.Google Scholar
  70. 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.CrossRefGoogle Scholar
  71. 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.Google Scholar
  72. 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.Google Scholar
  73. 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.Google Scholar
  74. van Ommering, R. (2002). Building product populations with software components. In 22rd International conference on software engineering (ICSE’02), pp. 255–265. ACM.Google Scholar
  75. 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.Google Scholar
  76. 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.Google Scholar
  77. 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.Google Scholar
  78. 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
  79. 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.CrossRefGoogle Scholar
  80. 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.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Mathieu Acher
    • 1
  • Philippe Collet
    • 1
  • Alban Gaignard
    • 1
  • Philippe Lahire
    • 1
  • Johan Montagnat
    • 1
  • Robert B. France
    • 2
  1. 1.I3S Laboratory (CNRS-UNSA), Les Algorithmes, Bât Euclide BSophia Antipolis CedexFrance
  2. 2.Computer Science DepartmentColorado State UniversityFort CollinsUSA

Personalised recommendations