Advertisement

Software & Systems Modeling

, Volume 18, Issue 5, pp 2787–2819 | Cite as

Using structural decomposition and refinements for deep modeling of software architectures

  • Georg HinkelEmail author
Regular Paper

Abstract

Traditional metamodeling in two levels gets to its limits when model elements of a domain should be described as instances of other model elements. For example in architecture description languages, components may be instances of their component types. Although workarounds to model such instance relations between model elements exist, they require many validation constraints and imply a cumbersome interface. To obtain more elegant metamodels, deep modeling seeks ways to represent non-transitive instantiation chains directly. However, existing concepts cannot be applied in some situations we refer as composite instantiation patterns. Further, these concepts make existing technologies for model transformation and analysis obsolete as these languages have to be adapted. In this paper, we present an approach to realize deep modeling through structural decomposition and refinements that can be implemented as a noninvasive extension to EMOF-like meta-metamodels. As a consequence, existing tools need not be adapted and composite instantiation patterns are fully supported. We validate our concept by creating a deep modeling architecture description language based on the Palladio Component Model and demonstrate its advantages by modeling a synthetic web application. We show that existing tools for incremental model analysis can be reused and manifest several orders of speedup for a synthetic example analysis.

Keywords

Deep modeling Structural decomposition Refinements NMeta Modeling language 

References

  1. 1.
    Lara, J.D., Guerra, E., Cuadrado, J.S.: When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. (TOSEM) 24(2), 12 (2014)CrossRefGoogle Scholar
  2. 2.
    Mohagheghi, P., Gilani, W., Stefanescu, A., Fernandez, M.A.: An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases. Empir. Softw. Eng. 18(1), 89–116 (2013)CrossRefGoogle Scholar
  3. 3.
    Staron, M.: Adopting Model Driven Software Development in Industry-A Case Study at Two Companies. Model Driven Engineering Languages and Systems, pp. 57–72. Springer, Berlin (2006)Google Scholar
  4. 4.
    Atkinson, C., Kühne, T.: The Essence of Multilevel Metamodeling. \(\ll \) UML \(\gg \) - The Unified Modeling Language. Modeling Languages, Concepts, and Tools, pp. 19–33. Springer, Berlin (2001)zbMATHGoogle Scholar
  5. 5.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw. 82, 3–22 (2009)CrossRefGoogle Scholar
  6. 6.
    Neumayr, B., Schuetz, C.G., Jeusfeld, M.A., Schrefl, M.: Dual deep modeling: multi-level modeling with dual potencies and its formalization in F-logic. Softw. Syst. Model. 17(1), 233–268 (2018)CrossRefGoogle Scholar
  7. 7.
    Atkinson, C., Gerbig, R., Tunjic, C.: Towards Multi-level Aware Model Transformations. Theory and Practice of Model Transformations, pp. 208–223. Springer, Berlin (2012)Google Scholar
  8. 8.
    Giese, H., Wagner, R.: Incremental Model Synchronization with Triple Graph Grammars. Model Driven Engineering Languages and Systems, ser. LNCS, vol. 4199, pp. 543–557. Springer, Berlin (2006)Google Scholar
  9. 9.
    Jouault, F., Beaudoux, O., Groupe, E.: Efficient OCL-based incremental transformations. In: 16th International Workshop in OCL and Textual Modeling (2016)Google Scholar
  10. 10.
    Hinkel, G., Burger, E.: Change propagation and bidirectionality in internal transformation DSLs. Softw. Syst. Model. (2017).  https://doi.org/10.1007/s10270-017-0617-6
  11. 11.
    Hinkel, G., Busch, K., Heinrich, R.: Refinements and structural decompositions in generated code. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development (2018)Google Scholar
  12. 12.
    Hinkel, G.: Implicit incremental model analyses and transformations,” to appear, Ph.D. thesis, Karlsruhe Institute of Technology (2017)Google Scholar
  13. 13.
    Hinkel, G.: NMF: A Modeling Framework for the.NET Platform., Karlsruhe Institute of Technology, Tech. Rep (2016)Google Scholar
  14. 14.
    Hinkel, G., Denninger, O., Krach, S., Groenda, H.: Experiences with model-driven engineering in neurorobotics. In: Proceedings of 12th European Conference on Modelling Foundations and Applications ECMFA. Held as Part of STAF 2016, Vienna, Austria, July 6–7, 2016. Proceedings, Springer, Berlin 2016, 217–228 (2016)Google Scholar
  15. 15.
    Brosch, F., Koziolek, H., Buhnova, B., Reussner, R.: Architecture-based reliability prediction with the palladio component model. IEEE Trans. Softw. Eng. 38(6), 1319–1339 (2012)CrossRefGoogle Scholar
  16. 16.
    Stier, C., Koziolek, A., Groenda, H., Reussner, R.: Model-based energy efficiency analysis of software architectures. In: Proceedings of the 9th European Conference on Software Architecture (ECSA 2015), ser. LNCS, Springer, Berlin (2015)Google Scholar
  17. 17.
    Seifermann, S., Taspolatoglu, E., Heinrich, R., Reussner, R.: Challenges in secure software evolution—the role of software architecture. In: 3rd Collaborative Workshop on Evolution and Maintenance of Long-Living Software Systems, ser. Softwaretechnik-Trends Band 36 Heft 1, pp. 8–11 (2016)Google Scholar
  18. 18.
    Atkinson, C., Kühne, T.: Meta-level independent modelling. In: International Workshop on Model Engineering at 14th European Conference on Object-Oriented Programming, pp. 12–16 (2000)Google Scholar
  19. 19.
    Atkinson, C., Gerbig, R., Kühne, T.: Comparing multi-level modeling approaches. In: MULTI 2014-Multi-Level Modelling Workshop Proceedings, p. 53 (2014)Google Scholar
  20. 20.
    Liskov, B.: Keynote address—data abstraction and hierarchy. SIGPLAN Not. 23(5), 17–34 (1987)CrossRefGoogle Scholar
  21. 21.
    Atkinson, C.: Meta-modelling for distributed object environments. In: Proceedings of First International Enterprise Distributed Object Computing Workshop [1997], EDOC’97. pp. 90–101 (1997)Google Scholar
  22. 22.
    Carvalho, V.A., Almeida, J.P.A., Fonseca, C.M., Guizzardi, G.: Multi-level ontology-based conceptual modeling. Data Knowl. Eng. 109, 3–24 (2017)CrossRefGoogle Scholar
  23. 23.
    Henderson-Sellers, B., Gonzalez-Perez, C.: Connecting powertypes and stereotypes. J. Object Technol. 4(7), 83–96 (2005)CrossRefGoogle Scholar
  24. 24.
    Hinkel, G.: NMF: a multi-platform modeling framework. In: Theory and Practice of Model Transformations: 11th International Conference, ICMT 2018, Held as Part of STAF 2018, Toulouse, France, June 25–29, 2018. Proceedings, accepted, to appear, Springer, Berlin (2018)Google Scholar
  25. 25.
    Object Management Group (OMG), MOF 2.5.1 Core Specification (formal/2016-11-01) (2016)Google Scholar
  26. 26.
    Stier, C., Koziolek, A.: Considering transient effects of self-adaptations in model-driven performance analyses. In: Software Engineering 2017, Fachtagung des GI-Fachbereichs Softwaretechnik, 21–24. February 2017. Hannover, Deutschland, pp. 99–100 (2017)Google Scholar
  27. 27.
    Koziolek, A., Koziolek, H., Reussner, R.: Per-Opteryx: Automated application of tactics in multiobjective software architecture optimization. In: Joint Proceedings of the Seventh International ACM SIGSOFT Conference on the Quality of Software Architectures and the 2nd ACM SIGSOFT International Symposium on Architecting Critical Systems (QoSA-ISARCS 2011), ACM, New York, NY, USA, pp. 33–42 (2011)Google Scholar
  28. 28.
    Neumayr, B., Schrefl, M., Thalheim, B.: Modeling techniques for multi-level abstraction. The Evolution of Conceptual Modeling, pp. 68–92. Springer, Berlin (2011)Google Scholar
  29. 29.
    Igamberdiev, M., Grossmann, G., Stumptner, M.: A feature-based categorization of multi-level modeling approaches and tools. In: Proceedings of the 3rd International Workshop on Multi-Level Modelling co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages & Systems (MoDELS 2016), Saint-Malo, France, October 4, 2016, pp. 45–55 (2016)Google Scholar
  30. 30.
    Fonseca, C. M.: ML2: an expressive multi-level conceptual modeling language, Ph.D. thesis, Universidade Federal do Espírito Santo (2017)Google Scholar
  31. 31.
    Akehurst, D. H., Howells, W. G. J., Scheidgen, M., McDonald-Maier, K. D.: C# 3.0 makes OCL redundant, Electronic Communications of the EASST, vol. 9 (2008)Google Scholar
  32. 32.
    Jeusfeld MA, Neumayr B (2016) DeepTelos: multilevel modeling with most general instances. In: International Conference on Conceptual Modeling, Springer, Berlin pp. 198–211 (2016)Google Scholar
  33. 33.
    Kühne, T., Schreiber, D.: Can programming be liberated from the two-level style: multi-level programming with DeepJava. In: ACM SIGPLAN Notices. ACM 42, 229–244 (2007)Google Scholar
  34. 34.
    Atkinson, C., Gerbig, R.: Melanie: multi-level modeling and ontology engineering environment. In: Proceedings of the 2nd International Master Class on Model-Driven Engineering: Modeling Wizards, ACM, p. 7 (2012)Google Scholar
  35. 35.
    De Lara, J., Guerra, E.: Deep meta-modelling with metadepth. In: Objects, Models, Components, Patterns, Springer, Berlin pp. 1–20 (2010)Google Scholar
  36. 36.
    Neumayr, B., Grün, K., Schrefl, M.: Multi-level domain modeling with m-objects and m-relationships. In: Proceedings of the Sixth Asia-Pacific Conference on Conceptual Modeling-Volume 96, Australian Computer Society, Inc., pp. 107–116 (2009)Google Scholar
  37. 37.
    Clark, T., Gonzalez-Perez, C., Henderson-Sellers, B.: A foundation for multi-level modelling. In: MULTI 2014-Multi-Level Modelling Workshop Proceedings, p. 43 (2014)Google Scholar
  38. 38.
    Igamberdiev, M., Grossmann, G., Selway, M., Stumptner, M.: An integrated multi-level modeling approach for industrial-scale data interoperability. Softw. Syst. Model. 17(1), 269–294 (2018)CrossRefGoogle Scholar
  39. 39.
    Back, R.-J., Von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, Berlin (1998)CrossRefzbMATHGoogle Scholar
  40. 40.
    Varró, D., Pataricza, A.: VPM: a visual, precise and multilevel metamodeling framework for describing mathematical domains and UML (the mathematics of metamodeling is metamodeling mathematics). Software and Systems Modeling 2(3), 187–210 (2003)CrossRefzbMATHGoogle Scholar
  41. 41.
    Pons, C.: Heuristics on the definition of UML refinement patterns. In: SOFSEM 2006: Theory and Practice of Computer Science. Springer, Berlin. pp. 461–470 (2006)Google Scholar
  42. 42.
    Object Management Group (OMG), Unified Modeling Language (UML)—Version 2.5.1, (2017)Google Scholar
  43. 43.
    Maraee, A., Balaban, M.: On the interaction of inter-relationship constraints. In: Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation, ser. MoDeVVa, ACM, pp. 3:1–3:8 (2011)Google Scholar
  44. 44.
    Maraee, A., Balaban, M.: Inter-association constraints in UML2: comparative analysis, usage recommendations, and modeling guidelines. In: Model Driven Engineering Languages and Systems: 15th International Conference, MODELS: Innsbruck, Austria, September 30–October 5, 2012. Proceedings. Springer, Berlin 2012, 302–318 (2012)Google Scholar
  45. 45.
    Nieto, P., Costal, D., Gómez, C.: Enhancing the semantics of UML association redefinition. Data Knowl. Eng. 70(2), 182–207 (2011)CrossRefGoogle Scholar
  46. 46.
    Costal, D., Gómez, C., Guizzardi, G.: Formal semantics and ontological analysis for understanding subsetting, specialization and redefinition of associations in UML. In: Proceedings of 30th International Conference Conceptual Modeling—ER 2011, Brussels, Belgium, October 31–November 3, 2011. Springer, Berlin, pp. 189–203 (2011)Google Scholar
  47. 47.
    Hamann, L., Gogolla, M.: Endogenous metamodeling semantics for structural UML 2 concepts. In: Proceedings of 16th International Conference Model-Driven Engineering Languages and Systems: MODELS: Miami, FL, USA, September 29–October 4, 2013. Springer, Berlin 2013, 488–504 (2013)Google Scholar
  48. 48.
    De Lara, J., Guerra, E., Cobos, R., Moreno- Llorena, J.: Extending deep meta-modelling for practical model-driven engineering. Comput. J. 57(1), 36–58 (2012)CrossRefGoogle Scholar
  49. 49.
    Selway, M., Stumptner, M., Mayer, W., Jordan, A., Grossmann, G., Schrefl, M.: A conceptual framework for large-scale ecosystem interoperability. In: International Conference on Conceptual Modeling, Springer, Berlin, pp. 287–301 (2015)Google Scholar
  50. 50.
    Rossini, A., Lara, J., Guerra, E., Nikolov, N.: A comparison of two-level and multi-level modelling for cloud-based applications. In: Modelling Foundations and Applications: 11th European Conference, ECMFA. Springer, Berlin. 2015, 18–32 (2015)Google Scholar
  51. 51.
    Henderson-Sellers, B., Clark, T., Gonzalez- Perez, C.: On the Search for a Level-Agnostic Modelling Language. Advanced Information Systems Engineering, pp. 240–255. Springer, Berlin (2013)Google Scholar
  52. 52.
    Mylopoulos, J., Borgida, A., Jarke, M., Koubarakis, M.: Telos: representing knowledge about information systems. ACM Trans. Inf. Syst. (TOIS) 8(4), 325–362 (1990)CrossRefGoogle Scholar
  53. 53.
    Kainz, G., Buckl, C., Sommer, S., Knoll, A.: Modelto-metamodel transformation for the development of component-based systems. In: Proceedings of 13th International Conference Model Driven Engineering Languages and Systems: MODELS 2010, Oslo, Norway, October 3–8, 2010. Part II, Springer, Berlin, pp. 391–405 (2010)Google Scholar
  54. 54.
    Macýas, F., Rutle, A., Stolz, V.: Multecore: combining the best of fixed-level and multilevel metamodelling. In: Proceedings of the 3rd International Workshop on Multi-Level Modelling co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages & Systems (MoDELS 2016), Saint-Malo, France, October 4, 2016., pp. 66–75 (2016)Google Scholar
  55. 55.
    Kimura, K., Nomura, Y., Tanaka, Y., Kurihara, H., Yamamoto, R.: Practical multi-level modeling on mof-compliant modeling frameworks. In: Proceedings of the 2nd International Workshop on Multi-Level Modelling co-located with ACM/IEEE 18th International Conference on Model Driven Engineering Languages & Systems (MoDELS 2015), Ottawa, Canada, 2015., pp. 43–52 (2015)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.FZI Forschungszentrum InformatikKarlsruheGermany

Personalised recommendations