Combining Model-Driven Architecture and Software Product Line Engineering: Reuse of Platform-Specific Assets

  • Frédéric VerdierEmail author
  • Abdelhak-Djamel Seriai
  • Raoul Taffo Tiam
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 991)


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.


Reuse Model-Driven Architecture Software product line Variability Platform-Specific Model Domain Specific Modeling Language 



We would like to thank the National Association of Research and Technology (ANRT in French) for its contribution to this research.


  1. 1.
    Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture Process and Organization for Business Success. ACM Press, New York (1997)Google Scholar
  2. 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. 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. 4.
    Filman, R.E., Elrad, T., Clarke, S., Aksit, M. (eds.): Aspect-Oriented Software Development. Addison Wesley, Boston (2004)Google Scholar
  5. 5.
    Schmidt, D.C.: Model-driven engineering. Computer 39, 25 (2006)CrossRefGoogle Scholar
  6. 6.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. ddison-Wesley Professional, Reading (2001)Google Scholar
  7. 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. 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. 9.
    Miller, J., Mukerji, J.: MDA guide. Object Management Group (2003)Google Scholar
  10. 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. 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. 12.
    Object Management Group: OMG unified modeling language (2015)Google Scholar
  13. 13.
    Frantiska, J.: Entity-relationship diagrams. In: Frantiska, J. (ed.) Visualization Tools for Learning Environment Development. SECT, pp. 21–30. Springer, Cham (2018). Scholar
  14. 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. 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. 16.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005). Scholar
  17. 17.
    Kruchten, P.B.: The 4+1 view model of architecture. IEEE Softw. 12, 42–50 (1995)CrossRefGoogle Scholar
  18. 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. 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. 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. 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). Scholar
  22. 22.
    Hamed, A., Colomb, R.M.: End to end development engineering. J. Softw. Eng. Appl. 4, 195–216 (2014)CrossRefGoogle Scholar
  23. 23.
    Object Management Group: Business Process Model and Notation. Version 2.0. (2011)Google Scholar
  24. 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. 25.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Reading (2009)Google Scholar
  26. 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. 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. 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

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Frédéric Verdier
    • 1
    • 2
    Email author
  • Abdelhak-Djamel Seriai
    • 1
  • Raoul Taffo Tiam
    • 2
  1. 1.LIRMM, University of Montpellier, CNRSMontpellierFrance
  2. 2.Acelys Informatique, Pôle EurekaMontpellierFrance

Personalised recommendations