Combining Model-Driven Architecture and Software Product Line Engineering: Reuse of Platform-Specific Assets
Abstract
Reuse automation is a main concern of software engineering to produce high quality applications in a faster and cheaper manner. Some approaches define cross-platform model-driven software product lines to systematically and automatically reuse generic assets in software development. They improve the product line assets reusability by designing them according to the Model-Driven Architecture specifications. However, their reuse of platform-specific assets is limited due to an inefficient platform-specific variability management. This issue interfere with gains in productivity provided by reuse.
In this paper, we define platform-specific variability by identifying variation points in different software concerns based on the well-known “4+1” view model categorization. Then, we fully manage platform-specific variability by structuring the Platform-Specific Model using two sub-models: the Cross-Cutting Model, obtained by transformation of the Platform-Independent Model; and the Application Structure Model, obtained by reuse of variable platform-specific assets. This structure is supported by a framework, based on a Domain-Specific Modeling Language, helping developers to build an application model. Experiments on three concrete applications confirmed that our approach significantly improves product lines productivity.
Keywords
Reuse Model-Driven Architecture Software product line Variability Platform-Specific Model Domain Specific Modeling LanguageNotes
Acknowledgments
We would like to thank the National Association of Research and Technology (ANRT in French) for its contribution to this research.
References
- 1.Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture Process and Organization for Business Success. ACM Press, New York (1997)Google Scholar
- 2.Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston (1995)zbMATHGoogle Scholar
- 3.Vale, T., Crnkovic, I., De Almeida, E.S., Neto, P.A.D.M.S., Cavalcanti, Y.C., de Lemos Meira, S.R.: Twenty-eight years of component-based software engineering. J. Syst. Softw. 111, 128–148 (2016)CrossRefGoogle Scholar
- 4.Filman, R.E., Elrad, T., Clarke, S., Aksit, M. (eds.): Aspect-Oriented Software Development. Addison Wesley, Boston (2004)Google Scholar
- 5.Schmidt, D.C.: Model-driven engineering. Computer 39, 25 (2006)CrossRefGoogle Scholar
- 6.Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. ddison-Wesley Professional, Reading (2001)Google Scholar
- 7.Deelstra, S., Sinnema, M., van Gurp, J., Bosch, J.: Model driven architecture as approach to manage variability in software product families. ResearchGate (2003)Google Scholar
- 8.Kim, S.D., Min, H.G., Her, J.S., Chang, S.H.: Dream : a practical product line engineering using model driven architecture. In: Proceedings of the Third International Conference on Information Technology and Applications (ICITA 2005) (2005)Google Scholar
- 9.Miller, J., Mukerji, J.: MDA guide. Object Management Group (2003)Google Scholar
- 10.Dageförde, J.C., Reischmann, T., Majchrzak, T.A., Ernsting, J.: Generating app product lines in a model-driven cross-platform development approach. In: 49th Hawaii International Conference on System Sciences (HICSS) (2016)Google Scholar
- 11.Verdier, F., Seriai, A.D., Tiam, R.T.: Reusing platform-specific models in model-driven architecture for software product lines. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, pp. 106–116 (2018)Google Scholar
- 12.Object Management Group: OMG unified modeling language (2015)Google Scholar
- 13.Frantiska, J.: Entity-relationship diagrams. In: Frantiska, J. (ed.) Visualization Tools for Learning Environment Development. SECT, pp. 21–30. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-67440-7_4CrossRefGoogle Scholar
- 14.Kardoš, M., Drozdová, M.: Analytical method of CIM to PIM transformation in model driven architecture (MDA). J. Inf. Organ. Sci. 34, 89–99 (2010)Google Scholar
- 15.Pohl, K., Metzger, A.: Variability management in software product line engineering. In: Proceedings of the 28th International Conference on Software Engineering, ICSE 2006, pp. 1046–1050. ACM (2006)Google Scholar
- 16.Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005). https://doi.org/10.1007/3-540-28901-1CrossRefzbMATHGoogle Scholar
- 17.Kruchten, P.B.: The 4+1 view model of architecture. IEEE Softw. 12, 42–50 (1995)CrossRefGoogle Scholar
- 18.Usman, M., Iqbal, M.Z., Khan, M.U.: A product-line model-driven engineering approach for generating feature-based mobile applications. J. Syst. Softw. 123, 1–32 (2017)CrossRefGoogle Scholar
- 19.Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice, 2nd edn. Synthesis Lectures on Software Engineering. Morgan & Claypool Publishers (2017)Google Scholar
- 20.O’Neil, E.J.: Object/relational mapping 2008: hibernate and the entity data model (edm). In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, SIGMOD 2008. ACM, pp. 1351–1356 (2008)Google Scholar
- 21.Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 266–283. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-28630-1_17CrossRefGoogle Scholar
- 22.Hamed, A., Colomb, R.M.: End to end development engineering. J. Softw. Eng. Appl. 4, 195–216 (2014)CrossRefGoogle Scholar
- 23.Object Management Group: Business Process Model and Notation. Version 2.0. (2011)Google Scholar
- 24.Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: Proceedings of the 2nd OOPSLA Workshop on Generative Techniques in the Context of the Model Driven Architecture, pp. 1–17 (2003)Google Scholar
- 25.Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Reading (2009)Google Scholar
- 26.Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I., Valduriez, P.: ATL: a QVT-like transformation language. In: Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications, pp. 719–720. ACM (2006)Google Scholar
- 27.Paige, R.F., Matragkas, N., Rose, L.M.: Evolving models in model-driven engineering: state-of-the-art and future challenges. J. Syst. Softw. 111, 272–280 (2016)CrossRefGoogle Scholar
- 28.Haugen, O., Wasowski, A., Czarnecki, K.: CVL: common variability language. In: Proceedings of the 17th International Software Product Line Conference, SPLC 2013, pp. 277–277. ACM (2013)Google Scholar