Breaking the Boundaries of Meta Models and Preventing Information Loss in Model-Driven Software Product Lines
Thomas Buchmann, Felix Schwägerl
2016
Abstract
Model-driven software product line engineering is an integrating discipline for which tool support has become available recently. However, existing tools are still immature and have several weaknesses. Among others, limitations in variability, caused by meta model restrictions, and unintended information loss are not addressed. 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 allow for unconstrained variability, mitigating meta model restrictions by virtually extending the underlying multi-variant domain model. Surrogates prevent unintended information loss during product derivation based on a contextsensitive product analysis, which can be controlled by a declarative OCL-based language. Both extensions have been implemented in FAMILE, a model-driven product line tool that is based on EMF, provides dedicated consistency repair mechanisms, and completely automates application engineering. The added value of alternative mappings and surrogates is demonstrated by a running example.
References
- Apel, S., Kästner, C., and Lengauer, C. (2009). FeatureHouse: Language-independent, automated software composition. In Proceedings of the ACM/IEEE International Conference on Software Engineering (ICSE), pages 221-231. IEEE.
- Batory, D. S. (2005). Feature models, grammars, and propositional formulas. In Obbink, J. H. and Pohl, K., editors, Proceedings of the 9th International Software Product Line Conference (SPLC'05), volume 3714 of Lecture Notes in Computer Science, pages 7-20, Rennes, France. Springer Verlag.
- Buchmann, T., Dotor, A., and Westfechtel, B. (2012). Mod2-scm: A model-driven product line for software configuration management systems. Information and Software Technology. http://dx.doi.org/10.1016/j.infsof.2012.07.010.
- Buchmann, T. and Schwägerl, F. (2012a). Ensuring wellformedness of configured domain models in modeldriven product lines based on negative variability. In Proceedings of the 4th International Workshop on Feature-Oriented Software Development, FOSD 2012, pages 37-44, New York, NY, USA. ACM.
- Buchmann, T. and Schwägerl, F. (2012b). 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., and Tolvanen, J.-P., editors, Joint Proceedings of co-located Events at the 8th European Conference on Modelling Foundations and Applications, CEUR WS, pages 59-62, Building 321, DK-2800 Kongens Lyngby. Technical University of Denmark (DTU).
- Buchmann, T. and Schwägerl, F. (2015a). Developing heterogeneous software product lines with famile - a model-driven approach. International Journal on Advances in Software, 8(1 & 2):232 - 246.
- Buchmann, T. and Schwägerl, F. (2015b). On A-posteriori Integration of Ecore Models and Hand-written Java Code. In Pascal Lorenz, M. v. S. and Cardoso, J., editors, Proceedings of the 10th International Conference on Software Paradigm Trends, pages 95-102. SCITEPRESS.
- Buchmann, T. and Westfechtel, B. (2014). Mapping feature models onto domain models: ensuring consistency of configured domain models.Software and System Modeling, 13(4):1495-1527.
- Clements, P. and Northrop, L. (2001). Software Product Lines: Practices and Patterns. Boston, MA.
- Czarnecki, K., Helsen, S., and Eisenecker, U. W. (2005). Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice, 10(1):7-29.
- Frankel, D. S. (2003). Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley Publishing, Indianapolis, IN.
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1994). Design Patterns - Elements of Reusable Object-Oriented Software.
- Gomaa, H. (2004). Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston, MA.
- Heidenreich, F. (2009). Towards systematic ensuring wellformedness of software product lines. In Proceedings of the 1st Workshop on Feature-Oriented Software Development, pages 69-74, Denver, CO, USA. ACM.
- Heidenreich, F., Kopcsek, J., and Wende, C. (2008). FeatureMapper: Mapping features to models. In Companion Proceedings of the 30th International Conference on Software Engineering (ICSE'08), pages 943-944, Leipzig, Germany.
- Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and Peterson, A. S. (1990). Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie-Mellon University, Software Engineering Institute.
- Kang, K. C., Kim, S., Lee, J., Kim, K., Kim, G. J., and Shin, E. (1998). Form: A feature-oriented reuse method with domain-specific reference architectures. Annals of Software Engineering, 5:143-168.
- Kästner, C., Apel, S., Trujillo, S., Kuhlemann, M., and Batory, D. S. (2009). Guaranteeing syntactic correctness for all product line variants: A language-independent approach. In Oriol, M. and Meyer, B., editors, TOOLS (47), volume 33 of Lecture Notes in Business Information Processing, pages 175-194. Springer.
- OMG (2011). Meta Object Facility (MOF) Core. Object Management Group, Needham, MA, formal/2011-08- 07 edition.
- OMG (2015). Unified Modeling Language (UML) . Object Management Group, Needham, MA, formal/15-03-01 edition.
- Pohl, K., Böckle, G., and van der Linden, F. (2005). Software Product Line Engineering: Foundations, Principles and Techniques. Springer Verlag, Berlin, Germany.
- Schwägerl, F., Buchmann, T., and Westfechtel, B. (2015). 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, pages 5-18, Colmar, Alsace, France. SCITEPRESS.
- Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2009). EMF Eclipse Modeling Framework. The Eclipse Series. Addison-Wesley, Boston, MA, 2nd edition.
- Taentzer, G. (2004). AGG: A Graph Transformation Environment for Modeling and Validation of Software. In Pfaltz, J., Nagl, M., and Böhlen, B., editors, Applications of Graph Transformations with Industrial Relevance, volume 3062 of Lecture Notes in Computer Science, pages 446-453. Springer Berlin / Heidelberg, Charlottesville, VA, USA.
- Völter, M., Stahl, T., Bettin, J., Haase, A., and Helsen, S. (2006). Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons.
- Weiss, D. M. and Lai, C. T. R. (1999). Software Product Line Engineering: A Family-Based Software Development Process. Boston, MA.
- Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., and Arajo, J. (2009). MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation. In Katz, S., Ossher, H., France, R., and Jzquel, J.-M., editors, Transactions on AspectOriented Software Development VI, volume 5560 of Lecture Notes in Computer Science, pages 191-237. Springer Berlin / Heidelberg.
- Ziadi, T. and Jézéquel, J.-M. (2006). Software Product Line Engineering with the UML: Deriving Products. In Käköla, T. and Duenas, J. C., editors, Software Product Lines, pages 557-588. Springer Berlin / Heidelberg.
- Zschaler, S., Sánchez, P., Santos, J., Alférez, M., Rashid, A., Fuentes, L., Moreira, A., Ara újo, J., and Kulesza, U. (2010). VML* - A Family of Languages for Variability Management in Software Product Lines. In van den Brand, M., Gaevic, D., and Gray, J., editors, Software Language Engineering, volume 5969 of Lecture Notes in Computer Science, pages 82-102. Springer Berlin / Heidelberg, Denver, CO, USA.
Paper Citation
in Harvard Style
Buchmann T. and Schwägerl F. (2016). Breaking the Boundaries of Meta Models and Preventing Information Loss in Model-Driven Software Product Lines . In Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-189-2, pages 73-83. DOI: 10.5220/0005789100730083
in Bibtex Style
@conference{enase16,
author={Thomas Buchmann and Felix Schwägerl},
title={Breaking the Boundaries of Meta Models and Preventing Information Loss in Model-Driven Software Product Lines},
booktitle={Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: ENASE,},
year={2016},
pages={73-83},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005789100730083},
isbn={978-989-758-189-2},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: ENASE,
TI - Breaking the Boundaries of Meta Models and Preventing Information Loss in Model-Driven Software Product Lines
SN - 978-989-758-189-2
AU - Buchmann T.
AU - Schwägerl F.
PY - 2016
SP - 73
EP - 83
DO - 10.5220/0005789100730083