Skip to main content
Erschienen in: Software and Systems Modeling 4/2019

16.06.2018 | Regular Paper

Model-integrating development of software systems: a flexible component-based approach

verfasst von: Mahdi Derakhshanmanesh, Jürgen Ebert, Marvin Grieger, Gregor Engels

Erschienen in: Software and Systems Modeling | Ausgabe 4/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

A promising way to develop flexible software systems is to include models that are analyzed, modified and executed at runtime as an integrated part of the system. Building such model-integrating systems is a challenging task since the respective modeling languages have to be supported comprehensively at runtime, and these systems still need to be developable in a modular way by composing them from basic building blocks. Model-driven (MDD) and component-based development (CBD) are two established orthogonal approaches that can tackle the mentioned challenges. MDD is based on the use of models and modeling languages as first-class entities to systematically engineer software systems. CBD enables the engineering of modular systems by facilitating a divide-and-conquer approach with reuse. However, combining and aligning the individual principles from both approaches is an open research problem. In this article, we describe model-integrating development (MID), an engineering approach that enables the systematic development of component-based, model-integrating software. MID combines principles from MDD and CBD and is based on the central assumption that models and code shall be treated equally as first-class entities of software throughout its life cycle. In particular, MID leverages the added flexibility that comes with models at runtime, i.e., when models are an integral part of running software. The practicability of the proposed solution concept is rationalized based on a reference implementation that provides the basis for a thoroughly described and critically discussed feasibility study: a dynamic access control product line. The obtained benefits are presented in a distilled way, and future research challenges are identified.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Fußnoten
1
Of course, using MoCos by themselves does not guarantee high-quality software. Good and bad software can be developed in code and in models. MoCos are no substitute for professional engineering.
 
3
Hopefully in practice such a language is already at hand, but to use it as an example for modeling language engineering of a DSML, we decided to invent our own rule language.
 
4
Since it is much better readable than a handwritten mockup, a screenshot of the final running dynamic access control system is given in Figs. 13 and 14 to describe the structure of the user interface. The depicted labels (e.g., R1, R1D1S, ...) and arrows in the top-down view of rooms are added for illustration purposes and are not part of the actual screen.
 
5
In this study, simulated data are rendered as no real sensors in real rooms were available. Technically, the software could process inputs from real sensors, though.
 
6
The distinction between conventional components (\(\mathtt {<<}\)component\(\mathtt {>>}\)) and MoCos (\(\mathtt {<<}\)moco\(\mathtt {>>}\)) is not yet part of this design activity.
 
7
The source code of the DAC-PL case study in its state achieved in 2015 is available at https://​github.​com/​jgralab/​dacpl.
 
Literatur
2.
Zurück zum Zitat Andersson, J., Lemos, R., Malek, S., Weyns, D.: Software Engineering for Self-Adaptive Systems Chap. Modeling D, pp. 27–47. Springer, Berlin (2009)CrossRef Andersson, J., Lemos, R., Malek, S., Weyns, D.: Software Engineering for Self-Adaptive Systems Chap. Modeling D, pp. 27–47. Springer, Berlin (2009)CrossRef
3.
Zurück zum Zitat Atkinson, C., Gerbig, R., Tunjic, C.: A multi-level modeling environment for sum-based software engineering. In: Proceedings of the 1st workshop on view-based, aspect-oriented and orthographic software modelling, VAO ’13, pp. 2:1–2:9. ACM, New York, NY, USA (2013) Atkinson, C., Gerbig, R., Tunjic, C.: A multi-level modeling environment for sum-based software engineering. In: Proceedings of the 1st workshop on view-based, aspect-oriented and orthographic software modelling, VAO ’13, pp. 2:1–2:9. ACM, New York, NY, USA (2013)
4.
Zurück zum Zitat Bae, J.H., Lee, K., Chae, H.S.: Modularization of the UML metamodel using model slicing. In: Fifth International Conference on Information Technology: New Generations, 2008. ITNG 2008, pp. 1253–1254 (2008) Bae, J.H., Lee, K., Chae, H.S.: Modularization of the UML metamodel using model slicing. In: Fifth International Conference on Information Technology: New Generations, 2008. ITNG 2008, pp. 1253–1254 (2008)
5.
Zurück zum Zitat Ballagny, C., Hameurlain, N., Barbier, F.: MOCAS: a state-based component model for self-adaptation. 2009 Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems pp. 206–215 (2009) Ballagny, C., Hameurlain, N., Barbier, F.: MOCAS: a state-based component model for self-adaptation. 2009 Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems pp. 206–215 (2009)
6.
Zurück zum Zitat Balz, M., Striewe, M., Goedicke, M.: Embedding behavioral models into object-oriented source code. In: Proceedings of “Software Engineering 2009” (2009) Balz, M., Striewe, M., Goedicke, M.: Embedding behavioral models into object-oriented source code. In: Proceedings of “Software Engineering 2009” (2009)
8.
Zurück zum Zitat Blair, G., Bencomo, N., France, R.B.: Models@run.time. Computer 42(10), 22–27 (2009)CrossRef Blair, G., Bencomo, N., France, R.B.: Models@run.time. Computer 42(10), 22–27 (2009)CrossRef
11.
Zurück zum Zitat Ciccozzi, F., Cicchetti, A., Sjdin, M.: Towards translational execution of action language for foundational UML. In: 39th Conference on Software Engineering and Advanced Applications (SEAA), pp. 153–160 (2013) Ciccozzi, F., Cicchetti, A., Sjdin, M.: Towards translational execution of action language for foundational UML. In: 39th Conference on Software Engineering and Advanced Applications (SEAA), pp. 153–160 (2013)
12.
Zurück zum Zitat Ciccozzi, F., Tivoli, M., Carlson, J. (eds.): Proceedings of the 1st International Workshop on Model-Driven Engineering for Component-Based Software Systems co-located with ACM/IEEE 17th International Conference on Model Driven Engineering Languages & Systems (MoDELS 2014), Valencia, Spain, CEUR Workshop Proceedings, vol. 1281. CEUR-WS.org (2014). http://ceur-ws.org/Vol-1281 Ciccozzi, F., Tivoli, M., Carlson, J. (eds.): Proceedings of the 1st International Workshop on Model-Driven Engineering for Component-Based Software Systems co-located with ACM/IEEE 17th International Conference on Model Driven Engineering Languages & Systems (MoDELS 2014), Valencia, Spain, CEUR Workshop Proceedings, vol. 1281. CEUR-WS.org (2014). http://​ceur-ws.​org/​Vol-1281
13.
Zurück zum Zitat Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, SEI Series in Software Engineering (2001) Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, SEI Series in Software Engineering (2001)
14.
Zurück zum Zitat Crnkovic, I., Sentilles, S., Vulgarakis, A., Chaudron, M.R.V.: A classification framework for software component models. IEEE Trans. Softw. Eng. 37(5), 593–615 (2011)CrossRef Crnkovic, I., Sentilles, S., Vulgarakis, A., Chaudron, M.R.V.: A classification framework for software component models. IEEE Trans. Softw. Eng. 37(5), 593–615 (2011)CrossRef
15.
Zurück zum Zitat Czarnecki, K., Wkasowski, A.: Feature diagrams and logics: there and back again. In: 11th International Software Product Line Conference (SPLC 2007) pp. 23–34 (2007) Czarnecki, K., Wkasowski, A.: Feature diagrams and logics: there and back again. In: 11th International Software Product Line Conference (SPLC 2007) pp. 23–34 (2007)
16.
Zurück zum Zitat Derakhshanmanesh, M.: Model-Integrating Software Components—Engineering Flexible Software Systems. Springer, Berlin (2015) Derakhshanmanesh, M.: Model-Integrating Software Components—Engineering Flexible Software Systems. Springer, Berlin (2015)
17.
Zurück zum Zitat Derakhshanmanesh, M., Amoui, M., O’Grady, G., Ebert, J., Tahvildari, L.: GRAF: graph-based runtime adaptation framework. In: Proceeding of the 6th International Smposium on Software Engineering for Adaptive and Self-managing Systems - SEAMS ’11, pp. 128–137. ACM Press, New York, NY, USA (2011) Derakhshanmanesh, M., Amoui, M., O’Grady, G., Ebert, J., Tahvildari, L.: GRAF: graph-based runtime adaptation framework. In: Proceeding of the 6th International Smposium on Software Engineering for Adaptive and Self-managing Systems - SEAMS ’11, pp. 128–137. ACM Press, New York, NY, USA (2011)
18.
Zurück zum Zitat Derakhshanmanesh, M., Ebert, J., Engels, G.: Why models and code should be treated as friends. Softwaretechnik-Trends 34(2) (2014) Derakhshanmanesh, M., Ebert, J., Engels, G.: Why models and code should be treated as friends. Softwaretechnik-Trends 34(2) (2014)
19.
Zurück zum Zitat Derakhshanmanesh, M., Ebert, J., Iguchi, T., Engels, G.: Model-integrating software components. In: Dingel, J., Schulte, W. (eds.) Model Driven Engineering Languages and Systems, 17th International Conference (MODELS 2014), Valencia, Spain, September 28–October 3, 2014. Springer, Valencia, Spain, pp. 386–402 (2014) Derakhshanmanesh, M., Ebert, J., Iguchi, T., Engels, G.: Model-integrating software components. In: Dingel, J., Schulte, W. (eds.) Model Driven Engineering Languages and Systems, 17th International Conference (MODELS 2014), Valencia, Spain, September 28–October 3, 2014. Springer, Valencia, Spain, pp. 386–402 (2014)
20.
Zurück zum Zitat Derakhshanmanesh, M., Grieger, M.: Model-integrating microservices: a vision paper. In: Proceedings of the 1st Workshop on Continuous Software Engineering co-located with Software Engineering 2016 in Vienna, Austria, February 23, 2016 (2016) Derakhshanmanesh, M., Grieger, M.: Model-integrating microservices: a vision paper. In: Proceedings of the 1st Workshop on Continuous Software Engineering co-located with Software Engineering 2016 in Vienna, Austria, February 23, 2016 (2016)
21.
Zurück zum Zitat Derakhshanmanesh, M., Grieger, M., Ebert, J.: On the need for extended transactional Models@Run.Time. In: Proceedings of the 10th Workshop on Models@run.time co-located with 18th International Conference on Model Driven Engineering Languages and Systems (MODELS 2015), Ottawa, Kanada, September 29, 2015 (2015) Derakhshanmanesh, M., Grieger, M., Ebert, J.: On the need for extended transactional Models@Run.Time. In: Proceedings of the 10th Workshop on Models@run.time co-located with 18th International Conference on Model Driven Engineering Languages and Systems (MODELS 2015), Ottawa, Kanada, September 29, 2015 (2015)
22.
Zurück zum Zitat Derakshanmanesh, M., Grieger, M., Ebert, J., Engels, G.: Thoughts on the evolution towards model-integrating software (to appear). In: Proceedings of the 3rd Workshop Model-Based and Model-Driven Software Modernization (MMSM) (2016) Derakshanmanesh, M., Grieger, M., Ebert, J., Engels, G.: Thoughts on the evolution towards model-integrating software (to appear). In: Proceedings of the 3rd Workshop Model-Based and Model-Driven Software Modernization (MMSM) (2016)
23.
Zurück zum Zitat de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.): Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, vol. 7475. Springer (2010) de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.): Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, vol. 7475. Springer (2010)
25.
Zurück zum Zitat Ebert, J., Bildhauer, D.: Reverse engineering using graph queries. In: Engels, G., Lewerentz, C., Schfer, W., Schrr, A., Westfechtel, B. (eds.) Graph Transformations and Model-Driven Engineering, LNCS 5765. Springer, Berlin (2010) Ebert, J., Bildhauer, D.: Reverse engineering using graph queries. In: Engels, G., Lewerentz, C., Schfer, W., Schrr, A., Westfechtel, B. (eds.) Graph Transformations and Model-Driven Engineering, LNCS 5765. Springer, Berlin (2010)
26.
Zurück zum Zitat Ebert, J., Süttenbach, R.: Integration of Z-based Semantics of OO-Notations. In: Proceedings of the Workshops on Object-Oriented Technology, ECOOP ’97, pp. 173–177. Springer-Verlag, London, UK, UK (1998) Ebert, J., Süttenbach, R.: Integration of Z-based Semantics of OO-Notations. In: Proceedings of the Workshops on Object-Oriented Technology, ECOOP ’97, pp. 173–177. Springer-Verlag, London, UK, UK (1998)
29.
Zurück zum Zitat Engels, G., Hausmann, J.H., Heckel, R., Sauer, S.: Dynamic meta-modeling: a graphical approach to the operational semantics of behavioral diagrams in UML. In: Evans, B.S.A. Kent, S. (eds.) Proceedings of the 3rd international conference on the Unified Modeling Language (UML 2000), York (UK), LNCS, vol. 1939, pp. 323–337. Springer, Berlin/Heidelberg (2000) Engels, G., Hausmann, J.H., Heckel, R., Sauer, S.: Dynamic meta-modeling: a graphical approach to the operational semantics of behavioral diagrams in UML. In: Evans, B.S.A. Kent, S. (eds.) Proceedings of the 3rd international conference on the Unified Modeling Language (UML 2000), York (UK), LNCS, vol. 1939, pp. 323–337. Springer, Berlin/Heidelberg (2000)
30.
Zurück zum Zitat 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 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
31.
Zurück zum Zitat Grieger, M.: Model-driven software modernization: concept-based engineering of situation-specific methods. Ph.D. thesis Grieger, M.: Model-driven software modernization: concept-based engineering of situation-specific methods. Ph.D. thesis
32.
Zurück zum Zitat Haber, A., Look, M., Perez, A.N., Nazari, P.M.S., Rumpe, B., Volkel, S., Wortmann, A.: Integration of heterogeneous modeling languages via extensible and composable language components. In: 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 19–31. IEEE (2015) Haber, A., Look, M., Perez, A.N., Nazari, P.M.S., Rumpe, B., Volkel, S., Wortmann, A.: Integration of heterogeneous modeling languages via extensible and composable language components. In: 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 19–31. IEEE (2015)
33.
Zurück zum Zitat Heidenreich, F., Henriksson, J., Johannes, J., Zschaler, S.: On language-independent model modularisation. In: Katz, S., Ossher, H., France, R., Jézéquel, J.M. (eds.) Transactions on Aspect-Oriented Software Development VI. Lecture Notes in Computer Science, vol. 5560, pp. 39–82. Springer, Berlin Heidelberg (2009) Heidenreich, F., Henriksson, J., Johannes, J., Zschaler, S.: On language-independent model modularisation. In: Katz, S., Ossher, H., France, R., Jézéquel, J.M. (eds.) Transactions on Aspect-Oriented Software Development VI. Lecture Notes in Computer Science, vol. 5560, pp. 39–82. Springer, Berlin Heidelberg (2009)
34.
Zurück zum Zitat Herrmann, C., Krahn, H., Rumpe, B., Schindler, M., Völkel, S.: Scaling-up model-based-development for large heterogeneous systems with compositional modeling. In: Software Engineering Research and Practice, pp. 172–176 (2009) Herrmann, C., Krahn, H., Rumpe, B., Schindler, M., Völkel, S.: Scaling-up model-based-development for large heterogeneous systems with compositional modeling. In: Software Engineering Research and Practice, pp. 172–176 (2009)
36.
Zurück zum Zitat Höfig, E.: Interpretation of behaviour models at runtime—performance benchmark and case studies. Ph.D. thesis, Technical University of Berlin (2011) Höfig, E.: Interpretation of behaviour models at runtime—performance benchmark and case studies. Ph.D. thesis, Technical University of Berlin (2011)
38.
Zurück zum Zitat Kleppe, A., Bast, W., Warmer, J.B.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Boston (2003) Kleppe, A., Bast, W., Warmer, J.B.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Boston (2003)
39.
Zurück zum Zitat Krahn, H., Rumpe, B., Völkel, S.: Monticore: a framework for compositional development of domain specific languages. Int. J. Softw. Tools Technol. Transf. 12(5), 353–372 (2010)CrossRef Krahn, H., Rumpe, B., Völkel, S.: Monticore: a framework for compositional development of domain specific languages. Int. J. Softw. Tools Technol. Transf. 12(5), 353–372 (2010)CrossRef
40.
Zurück zum Zitat Lehman, M.M.: Programs, life cycles, and laws of software evolution. Proc. IEEE 68(9), 1060–1076 (1980)CrossRef Lehman, M.M.: Programs, life cycles, and laws of software evolution. Proc. IEEE 68(9), 1060–1076 (1980)CrossRef
41.
Zurück zum Zitat Ludewig, J.: Models in software engineering an introduction. Softw. Syst. Modeling 2(1), 5–14 (2003)CrossRef Ludewig, J.: Models in software engineering an introduction. Softw. Syst. Modeling 2(1), 5–14 (2003)CrossRef
42.
Zurück zum Zitat Mayerhofer, T.: Defining executable modeling languages with fUML. Ph.D. thesis, Institute of Software Technology and Interactive Systems (2014) Mayerhofer, T.: Defining executable modeling languages with fUML. Ph.D. thesis, Institute of Software Technology and Interactive Systems (2014)
43.
Zurück zum Zitat Mayerhofer, T., Langer, P., Seidewitz, E., Gray, J. (eds.): Proceedings of the 1st International Workshop on Executable Modeling co-located with ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS 2015), Ottawa, Canada, September 27, 2015, CEUR Workshop Proceedings, vol. 1560. CEUR-WS.org (2016). http://ceur-ws.org/Vol-1560 Mayerhofer, T., Langer, P., Seidewitz, E., Gray, J. (eds.): Proceedings of the 1st International Workshop on Executable Modeling co-located with ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS 2015), Ottawa, Canada, September 27, 2015, CEUR Workshop Proceedings, vol. 1560. CEUR-WS.org (2016). http://​ceur-ws.​org/​Vol-1560
44.
Zurück zum Zitat Mellor, S.J., Balcer, M.: Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley Longman Publishing Co. Inc, Boston (2002) Mellor, S.J., Balcer, M.: Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley Longman Publishing Co. Inc, Boston (2002)
45.
Zurück zum Zitat Omg, O.M.G.: OCL: object constraint language. Language 36, 1–11 (2012) Omg, O.M.G.: OCL: object constraint language. Language 36, 1–11 (2012)
47.
Zurück zum Zitat Rajlich, V.T., Bennett, K.H.: A staged model for the software life cycle. IEEE Comput. 33(7), 66–71 (2000)CrossRef Rajlich, V.T., Bennett, K.H.: A staged model for the software life cycle. IEEE Comput. 33(7), 66–71 (2000)CrossRef
48.
Zurück zum Zitat Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 14:1–14:42 (2009)CrossRef Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 14:1–14:42 (2009)CrossRef
49.
Zurück zum Zitat Stahl, T., Völter, M.: Model-Driven Software Development. Wiley, Hoboken (2006)MATH Stahl, T., Völter, M.: Model-Driven Software Development. Wiley, Hoboken (2006)MATH
50.
Zurück zum Zitat Sztipanovits, J., Karsai, G.: Model-integrated computing. Computer 30(4), 110–111 (1997)CrossRef Sztipanovits, J., Karsai, G.: Model-integrated computing. Computer 30(4), 110–111 (1997)CrossRef
51.
Zurück zum Zitat Szvetits, M., Zdun, U.: Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Softw. Syst. Model. 15, 1–39 (2016)CrossRef Szvetits, M., Zdun, U.: Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Softw. Syst. Model. 15, 1–39 (2016)CrossRef
52.
Zurück zum Zitat Szyperski, C., Gruntz, D., Murer, S.: Component Software-Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Boston (2002) Szyperski, C., Gruntz, D., Murer, S.: Component Software-Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Boston (2002)
Metadaten
Titel
Model-integrating development of software systems: a flexible component-based approach
verfasst von
Mahdi Derakhshanmanesh
Jürgen Ebert
Marvin Grieger
Gregor Engels
Publikationsdatum
16.06.2018
Verlag
Springer Berlin Heidelberg
Erschienen in
Software and Systems Modeling / Ausgabe 4/2019
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-018-0682-5

Weitere Artikel der Ausgabe 4/2019

Software and Systems Modeling 4/2019 Zur Ausgabe