Skip to main content
Log in

Using structural decomposition and refinements for deep modeling of software architectures

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

Notes

  1. The terminology deep modeling was decided on at the MULTI 2014 workshop, and we adopted in this paper.

  2. A level-adjuvant language is a language where modeling levels are explicit. Elements are assigned to fixed levels, and relations between them are restricted based on elements levels.

  3. Feedback can also be provided without incremental validation, but an incremental execution of validation rules makes them much faster and therefore practical for larger models.

  4. Again, we omitted the required interface for the inner database to save space.

  5. Atkinson and others introduced this situation as a paradox for level-blind languages, i.e., languages that do not have an explicit notion of levels [19]. The tooling for PCM currently does not enforce this constraint.

  6. We need to keep a type separate from its set of instances due to axiomatic set theory.

  7. In implementations, \(\bot \) is typically null.

  8. Here, the \(\equiv \) symbol means that the getter function always returns the same element b.

  9. The introduction of racing bikes or professional racing bikes as in the bicycle challenge of the MULTI workshop for us also does not introduce instantiation relationships because professional racing bikes are still vehicles and the “is–a” relationship is transitive and hence a specialization.

  10. We adopt the terminology from .NET here, in the technical space of Java this is called a super type.

  11. This definition is slightly more strict than the original definition by Carvalho and others: First, they considered type systems where a model element may have multiple types and second, even in the case of a single type they would demand the implication only for concrete types a.

  12. In our implementation, categorization and disjoint categorization are equivalent because objects generally have exactly one type.

  13. A consequence of this assignment is the substitution principle: If the provenances are implemented as refinements of base types, then a cockerdoodle would be a valid instance of Poodle (but not vice versa). Whether this is desirable depends on the domain context. One might want to treat a toypoodle as a poodle, but a cockerdoodle probably not.

  14. Sometimes referred to as ref-objects.

  15. Or two references if the refinement of BaseTypes and the relation are specified separately.

  16. Because NMeta supports type extensions and structured primitive types, the inheritance hierarchy in NMeta is slightly different to the one used in Ecore such that there are two classes in between Class and Type, the equivalent of EClassifier. This is due to classes omitted in Fig. 14 since they are outside the scope of this paper.

  17. As an example the reference for the parent classes, called eSuperTypes in Ecore, is called BaseTypes.

  18. This definition is consistent, because a single feature is a structural decomposition of itself.

  19. A problem here is that the class ReferenceConstraint is capable to hold any model elements, since all classes implicitly inherit from ModelElement. However, the validation of the metamodel will fail if the provided model elements do not fit to the chosen reference’s type.

  20. The reason for NMeta to not support derived features is that NMF has no support for generating OCL expressions due to an incompatible code generation infrastructure. However, NMF allows to customize the generated classes without touching the generated code.

  21. An interesting consequence would be that the generated class for an e-bike would not inherit from the generated class for bike but would implement the interface directly.

  22. In .NET, even simple value types such as integers, enumerations or boolean values inherit from a common Object class. However, we consider these inheritance relationships as purely technical and do not represent it in NMeta.

  23. To be consistent, the uniqueness constraint would be enforced only when reading the collection: whenever a clients wants to traverse a unique collection that is decomposed, the collection is assembled and deduplicated before returning to the caller. Enforcing the uniqueness constraint when adding new elements would cause side-effects to the component features.

  24. This restriction is necessary due to the stratification process in the code generation.

  25. When using deep modeling approaches, the term metamodel gets blurred. We use the term metamodel to describe a model that can be instantiated.

  26. .NET allows classes to privately implement an interface, which means that the implementation is not visible from the class API, but only through this interface.

  27. Prototype: http://github.com/georghinkel/DeepModelingDemo, Full implementation by Alexis Bernhard: https://github.com/ghmanager/DeepPCM/, accessed 2 Aug 2017.

  28. At least not in NMF. Other modeling environments more inspired by ontologies where elements do not necessarily have a type at all may support changing the type of an object at any time.

  29. All references in PCM are suffixed with the class name that defines these references which unnecessarily degrades the understandability of the analysis.

  30. There are even methods to optimize over all possible deployments of a system, given a resource environment [27].

  31. https://github.com/georghinkel/DeepModelingDemo.

  32. For the future, we are planning to introduce dynamic proxies that eliminate this limitation.

  33. Except for the bicycle challenge 2017 [12].

  34. NMeta does not support OCL, but one is free to define constraints and analyses separate from the metamodel in C# that makes OCL redundant [31].

References

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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)

    MATH  Google Scholar 

  5. Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw. 82, 3–22 (2009)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. Jouault, F., Beaudoux, O., Groupe, E.: Efficient OCL-based incremental transformations. In: 16th International Workshop in OCL and Textual Modeling (2016)

  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. 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)

  12. Hinkel, G.: Implicit incremental model analyses and transformations,” to appear, Ph.D. thesis, Karlsruhe Institute of Technology (2017)

  13. Hinkel, G.: NMF: A Modeling Framework for the.NET Platform., Karlsruhe Institute of Technology, Tech. Rep (2016)

  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)

  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)

    Article  Google Scholar 

  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)

  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)

  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)

  19. Atkinson, C., Gerbig, R., Kühne, T.: Comparing multi-level modeling approaches. In: MULTI 2014-Multi-Level Modelling Workshop Proceedings, p. 53 (2014)

  20. Liskov, B.: Keynote address—data abstraction and hierarchy. SIGPLAN Not. 23(5), 17–34 (1987)

    Article  Google Scholar 

  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)

  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)

    Article  Google Scholar 

  23. Henderson-Sellers, B., Gonzalez-Perez, C.: Connecting powertypes and stereotypes. J. Object Technol. 4(7), 83–96 (2005)

    Article  Google Scholar 

  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)

  25. Object Management Group (OMG), MOF 2.5.1 Core Specification (formal/2016-11-01) (2016)

  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)

  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)

  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. 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)

  30. Fonseca, C. M.: ML2: an expressive multi-level conceptual modeling language, Ph.D. thesis, Universidade Federal do Espírito Santo (2017)

  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)

  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)

  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)

  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)

  35. De Lara, J., Guerra, E.: Deep meta-modelling with metadepth. In: Objects, Models, Components, Patterns, Springer, Berlin pp. 1–20 (2010)

  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)

  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)

  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)

    Article  Google Scholar 

  39. Back, R.-J., Von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, Berlin (1998)

    Book  MATH  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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)

  42. Object Management Group (OMG), Unified Modeling Language (UML)—Version 2.5.1, (2017)

  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)

  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)

  45. Nieto, P., Costal, D., Gómez, C.: Enhancing the semantics of UML association redefinition. Data Knowl. Eng. 70(2), 182–207 (2011)

    Article  Google Scholar 

  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)

  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)

  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)

    Article  Google Scholar 

  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)

  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)

  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. Mylopoulos, J., Borgida, A., Jarke, M., Koubarakis, M.: Telos: representing knowledge about information systems. ACM Trans. Inf. Syst. (TOIS) 8(4), 325–362 (1990)

    Article  Google Scholar 

  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)

  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)

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Georg Hinkel.

Additional information

Communicated by Prof. Colin Atkinson.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hinkel, G. Using structural decomposition and refinements for deep modeling of software architectures. Softw Syst Model 18, 2787–2819 (2019). https://doi.org/10.1007/s10270-018-0701-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-018-0701-6

Keywords

Navigation