Skip to main content

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

  • Conference paper
  • First Online:
Model-Driven Engineering and Software Development (MODELSWARD 2018)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://www.rabbitmq.com/.

  2. 2.

    https://kafka.apache.org/.

  3. 3.

    Sirius website: http://www.eclipse.org/sirius/.

  4. 4.

    Eclipse QVT Operational: https://projects.eclipse.org/projects/modeling.mmt.qvt-oml.

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)

    MATH  Google 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)

    Article  Google 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)

    Article  Google 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_4

    Chapter  Google 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-1

    Book  MATH  Google Scholar 

  17. Kruchten, P.B.: The 4+1 view model of architecture. IEEE Softw. 12, 42–50 (1995)

    Article  Google 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)

    Article  Google 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_17

    Chapter  Google Scholar 

  22. Hamed, A., Colomb, R.M.: End to end development engineering. J. Softw. Eng. Appl. 4, 195–216 (2014)

    Article  Google 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)

    Article  Google 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 

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Frédéric Verdier .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Verdier, F., Seriai, AD., Tiam, R.T. (2019). Combining Model-Driven Architecture and Software Product Line Engineering: Reuse of Platform-Specific Assets. In: Hammoudi, S., Pires, L., Selic, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2018. Communications in Computer and Information Science, vol 991. Springer, Cham. https://doi.org/10.1007/978-3-030-11030-7_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-11030-7_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-11029-1

  • Online ISBN: 978-3-030-11030-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics