Abstract
Model-driven software product line engineering aims at increasing the productivity of development of variational software. The principle of negative variability is realized by a multi-variant domain model, from which elements not needed for specific product variants are removed. The application of negative variability is impeded by two factors: First, metamodel restrictions lead to limited expressiveness of the multi-variant domain model. Second, unintended information loss may occur during product derivation. In this paper, we present two conceptual extensions to model-driven product line engineering based on negative variability, being alternative mappings and surrogates. Alternative mappings virtually extend the multi-variant domain model. Surrogates repair unintended information loss by context-sensitive analyses. Both extensions have been implemented in FAMILE, a model-driven product line tool that is based on EMF. Alternative mappings are defined in a dedicated mapping model. Surrogate rules may be defined in a declarative domain-specific language and are taken into account during product derivation. The added value of alternative mappings and surrogates is demonstrated by a running example, a UML-based graph library.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Antkiewicz, M., Czarnecki, K.: FeaturePlugin: feature modeling plug-in for eclipse. In: Proceedings of the 2004 OOPSLA Workshop on Eclipse Technology eXchange (eclipse 2004), New York, pp. 67–72 (2004)
Apel, S., Kästner, C., Lengauer, C.: FeatureHouse: language-independent, automated software composition. In: Proceedings of the ACM/IEEE International Conference on Software Engineering (ICSE), pp. 221–231. IEEE, May 2009
Buchmann, T.: Valkyrie: a UML-based model-driven environment for model-driven software engineering. In: Proceedings of the 7th International Conference on Software Paradigm Trends (ICSOFT 2012), Rome, Italy, pp. 147–157 (2012)
Buchmann, T., Dotor, A., Westfechtel, B.: Mod2-scm: a model-driven product line for software configuration management systems. Information and Software Technology (2012). http://dx.doi.org/10.1016/j.infsof.2012.07.010
Buchmann, T., Schwägerl, F.: Ensuring well-formedness of configured domain models in model-driven product lines based on negative variability. In: Proceedings of the 4th International Workshop on Feature-Oriented Software Development, FOSD 2012, pp. 37–44. ACM, New York (2012)
Buchmann, T., Schwägerl, F.: FAMILE: tool support for evolving model-driven product lines. In: Störrle, H., Botterweck, G., Bourdells, M., Kolovos, D., Paige, R., Roubtsova, E., Rubin, J., Tolvanen, J.P. (eds.) Joint Proceedings of co-located Events at the 8th European Conference on Modelling Foundations and Applications, pp. 59–62. CEUR WS, Technical University of Denmark (DTU), Building 321, DK-2800 Kongens Lyngby, July 2012
Buchmann, T., Schwägerl, F.: Developing heterogeneous software product lines with famile – a model-driven approach. Int. J. Adv. Softw. 8(1 & 2), 232–246 (2015)
Buchmann, T., Schwägerl, F.: On A-posteriori integration of Ecore Models and Hand-written Java Code. In: Pascal Lorenz, M.V.S., Cardoso, J. (eds.) Proceedings of the 10th International Conference on Software Paradigm Trends, pp. 95–102. SCITEPRESS, July 2015
Buchmann, T., Schwägerl, F.: Breaking the boundaries of meta models and preventing information loss in model-driven software product lines. In: Maciaszek, L., Filipe, J. (eds.) Proceedings of the 11th International Conference on the Evaluation of Novel Approaches to Software Engineering (ENASE 2016), pp. 73–83. SCITEPRESS, Rome, Italy, April 2016
Buchmann, T., Westfechtel, B.: Mapping feature models onto domain models: ensuring consistency of configured domain models. Softw. Syst. Model. 13(4), 1495–1527 (2014). http://dx.doi.org/10.1007/s10270-012-0305-5
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns, Boston, MA (2001)
Czarnecki, K., Helsen, S., Eisenecker, U.W.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10(1), 7–29 (2005)
Frankel, D.S.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley Publishing, Indianapolis (2003)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns - Elements of Reusable Object-Oriented Software (1994)
Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston (2004)
Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: mapping features to models. In: Companion Proceedings of the 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, pp. 943–944, May 2008
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report CMU/SEI-90-TR-21, Carnegie-Mellon University, Software Engineering Institute, November 1990
Kang, K.C., Kim, S., Lee, J., Kim, K., Kim, G.J., Shin, E.: Form: a feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)
Kästner, C., Apel, S., Trujillo, S., Kuhlemann, M., Batory, D.: Guaranteeing syntactic correctness for all product line variants: a language-independent approach. In: Oriol, M., Meyer, B. (eds.) TOOLS EUROPE 2009. LNBIP, vol. 33, pp. 175–194. Springer, Heidelberg (2009). doi:10.1007/978-3-642-02571-6_11
Lopez-Herrejon, R.E., Batory, D.: A standard problem for evaluating product-line methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001). doi:10.1007/3-540-44800-4_2
OMG: Object Constraint Language, Version 2.2. OMG, Needham, MA, formal/2010-02-02 edn., February 2010
OMG: Meta Object Facility (MOF) Core. Object Management Group, Needham, MA, formal/2011-08-07 edn., August 2011
OMG: Concrete Syntax For A UML Action Language: Action Language For Foundational UML (ALF). Object Management Group, Needham, MA, formal/2013-09-01 edn., October 2013
OMG: Unified Modeling Language (UML). Object Management Group, Needham, MA, formal/15-03-01 edn., March 2015
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)
Schwägerl, F., Buchmann, T., Westfechtel, B.: SuperMod - a model-driven tool that combines version control and software product line engineering. In: ICSOFT-PT 2015 - Proceedings of the 10th International Conference on Software Paradigm Trends, pp. 5–18. SCITEPRESS, Colmar (2015)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Boston (2009)
Taentzer, G.: AGG: a graph transformation environment for modeling and validation of software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004). doi:10.1007/978-3-540-25959-6_35
Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, Chichester (2006)
Weiss, D.M., Lai, C.T.R.: Software Product Line Engineering: A Family-Based Software Development Process, Boston, MA (1999)
Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Araújo, J.: MATA: a unified approach for composing UML aspect models based on graph transformation. In: Katz, S., Ossher, H., France, R., Jézéquel, J.-M. (eds.) Transactions on Aspect-Oriented Software Development VI. LNCS, vol. 5560, pp. 191–237. Springer, Heidelberg (2009). doi:10.1007/978-3-642-03764-1_6
Ziadi, T., Jézéquel, J.M.: Software product line engineering with the UML: deriving products. In: Käköla, T., Duenas, J.C. (eds.) Software Product Lines, pp. 557–588. Springer, Heidelberg (2006)
Zschaler, S., Sánchez, P., Santos, J., Alférez, M., Rashid, A., Fuentes, L., Moreira, A., Araújo, J., Kulesza, U.: VML* – a family of languages for variability management in software product lines. In: Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 82–102. Springer, Heidelberg (2010). doi:10.1007/978-3-642-12107-4_7
Acknowledgments
The authors want to thank Bernhard Westfechtel for his valuable and much appreciated comments on the draft of this paper. Furthermore, we give thanks to the anonymous reviewers and all attendees of ENASE 2016, who gave important feedback that was carefully considered during the revision of this paper.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Buchmann, T., Schwägerl, F. (2016). Advancing Negative Variability in Model-Driven Software Product Line Engineering. In: Maciaszek, L., Filipe, J. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2016. Communications in Computer and Information Science, vol 703. Springer, Cham. https://doi.org/10.1007/978-3-319-56390-9_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-56390-9_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-56389-3
Online ISBN: 978-3-319-56390-9
eBook Packages: Computer ScienceComputer Science (R0)