Skip to main content
Log in

Accidental complexity in multilevel modeling revisited

  • Theme Section Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

Abstract

Multilevel modeling (MLM) conceptualizes software models as layered architectures of sub-models that are inter-related by the instance-of relation. Conceptually, MLM provides benefits in terms of ontological classification. Pragmatically, based on arguments in knowledge engineering, MLM meaningfully reduces accidental complexity. In this paper, the problem of accidental complexity in MLM is revisited. The paper focuses on the role of the context of type-instance structures on MLM architectures. We analyze factors of accidental complexity in multilevel models, suggest quantitative metrics for these factors, and show how they can be used for guiding MLM rearchitecture transformations. The relevance of the proposed factors and metrics is shown in an experimental study of type-instance contexts in multiple real-world models.

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

Similar content being viewed by others

Notes

  1. An exception is a pattern in [5] that suggests a transformation for client classes of a type-instance pattern.

  2. Part of this context appears in [4].

  3. Indeed, balancing among conflicting factors while trying to maximize model quality is the essence of software-modeling dialectics. Like the dialectics between the conflicting principles of high cohesion and low coupling.

  4. Some publications assume that 0-potency value of a “class” C points that C is an abstract class. This situation contradicts the declared potency intention, since the set semantics of classes implies that all instances of subclasses of C are also instances of C. 0-potency for a class member means that it belongs only to the object facet of a level, and not to its class facet.

  5. Reminds the Divergent Change software smell [53] that describes cases where a software element can be affected by changes in multiple places in the code.

  6. Shotgun Surgery is the software smell characterizing cases where a change in one place implies multiple changes in the code.

  7. The integrity constraint quantityConstraint on the OrderItem class is removed since it requires an MLM constraint language [11, 16, 61].

  8. Indeed, an ambiguous semantics of the potency labeling.

  9. As in Fig. 11, the integrity constraint quantityConstraint on the OrderItem class is removed since it requires an MLM constraint language [11, 16, 61].

  10. For simplicity, method text and constraints are removed.

  11. This is not a refactoring since replacing subtyping or association by type membership changes the semantics.

  12. This paper points to a site that lists type-instance occurrences in meta-models, http://miso.es/multilevel/multi-level-patterns.htm.

  13. Sizes of ATL models are taken from [5].

  14. For the sake of visual simplicity, the two complex constraints on class BMXProduct are omitted: (1) if \(pr \in bmxPr.part\), then \(pr.prt \in bmxPr.prt.tPart\); (2) for every set Prts of parts of a BMXProduct object bmxPr, such that Prts objects share a common productType prtTp, the size of Prts is given by the requiredNumber attribute of the BillOfMaterialLineItem of the link \(\langle bmxPr.prt, prtTp \rangle \); i.e., \(| Prts | = \langle bmxPr.prt, prtTp \rangle .BillOfMaterialLineItem . requiredNumber\). Proper formulation of this constraint requires definition of auxiliary functions within a local computation scope

References

  1. Henderson-Sellers, B.: On the Mathematics of Modelling, Metamodelling, Ontologies and Modelling Languages. Springer Science & Business Media, Berlin (2012)

    Book  Google Scholar 

  2. Brooks, F.P.: No silver bullet—essence and accident in software engineering. IEEE Computer 20, 10–19 (1987)

    Article  Google Scholar 

  3. Kuehne, T., Schreiber, D.: Can programming be liberated from the two-level style: multi-level programming with deepjava. ACM SIGPLAN Notes 42, 229–244 (2007)

    Article  Google Scholar 

  4. Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7, 345–359 (2008)

    Article  Google Scholar 

  5. de Lara, J., Guerra, E., Cuadrado, J.S.: When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. 24 (2014) 12: 1–12:46

  6. de Lara, J., Guerra, E., Cuadrado, J.S.: Model-driven engineering with domain-specific meta-modelling languages. SoSyM 14, 429–459 (2013)

    Google Scholar 

  7. de Lara, J., Guerra, E., Cobos, R., Moreno-Llorena, J.: Extending deep meta-modelling for practical mde. Comput. J. 57, 36–58 (2014)

    Article  Google Scholar 

  8. Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: UML. Springer (2001) 19–33

  9. Atkinson, C., Kühne, T.: Rearchitecting the uml infrastructure. ACM Trans. Model. Comput. Simul. 12, 290–321 (2002)

    Article  Google Scholar 

  10. Rossini, A., de Lara, J., Guerra, E., Rutle, A., Lamo, Y.: A graph transformation-based semantics for deep metamodelling. In: Applications of Graph Transformations with Industrial Relevance. Springer (2012)

  11. Balaban, M., Khitron, I., Kifer, M., Maraee, A.: Formal executable theory of multilevel modeling. In: CAISE. (2018)

  12. Balaban, M., Khitron, I., Kifer, M., Maraee, A.: Multilevel modeling: what’s in a level? a position paper. In: MODELS Workshops, MULTI-2018. (2018)

  13. Rushton, A., Croucher, P., Baker, P.: The handbook of logistics and distribution management: Understanding the supply chain. Kogan Page Publishers (2014)

  14. Scholz-Reiter, B., Sowade, S., Hildebrandt, T., Rippel, D.: Production management modeling of orders in autonomously controlled logistic systems. Prod. Eng. 4, 319–325 (2010)

    Article  Google Scholar 

  15. Litium docs: Litium Domain model of ERP connect API order contracts. https://bit.ly/3p8ER7u (2020) Accessed: Jan 31, 2020

  16. Khitron, I., Balaban, M., Kifer, M.: FOML Site. https://goo.gl/AgxmMc (2021)

  17. Fowler, M.: Analysis Patterns: Reusable Object Models. Addison-Wesley, Boston (1997)

    Google Scholar 

  18. Johnson, R., Woolf, B.: The Type Object Pattern. http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/dpa/typeobject.pdf (1996)

  19. Nystrom, R.: Game Programming Patterns. Genever Benning (2014)

  20. Cardelli, L.: Structural subtyping and the notion of power type. In: Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. (1988) 70–79

  21. Odell, J.: Power types. J. Object Oriented Program. 7, 8–12 (1994)

    Google Scholar 

  22. Gonzalez-Perez, C., Henderson-Sellers, B.: A powertype-based metamodelling framework. Softw. Syst. Model. 5, 72–90 (2006)

    Article  Google Scholar 

  23. Object Management Group (OMG): OMG Unified Modeling Language. Specification Version 2.5, OMG (2015)

  24. Carvalho, V.A., Almeida, J.P.A.: Toward a well-founded theory for multi-level conceptual modeling. Softw. Syst. Model. 17, 205–231 (2016)

    Article  Google Scholar 

  25. Almeida, J., Fonseca, C., Carvalho, V.: A comprehensive formal theory for multi-level conceptual modeling. In: ER. (2017) 280–294

  26. Jeusfeld, M.A., Neumayr, B.: Deeptelos: Multi-level modeling with most general instances. ER 2016, 198–211 (2016)

    Google Scholar 

  27. Jeusfeld, M.A., Almeida, J.P.A., Carvalho, V.A., Fonseca, C.M., Neumayr, B.: Deductive reconstruction of mlt* for multi-level modeling. In: MODELS Workshops, MULTI-2020. (2020)

  28. Jarke, M., Gallersdörfer, R., Jeusfeld, M.A., Staudt, M.: Conceptbase—A deductive object base for meta data management. J. Intell. Inf. Syst. 4, 167–192 (1995)

    Article  Google Scholar 

  29. Gogolla, M., Sedlmeier, M., Hamann, L., Hilken, F.: On metamodel superstructures employing UML generalization features. In: MULTI’2014. (2014)

  30. Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL Models in USE by Automatic Snapshot Generation. J. Softw. Syst. Model. 4, 386–398 (2005)

    Article  Google Scholar 

  31. Kuhlmann, S.M., Hamann, L., Gogolla, M.: Extensive Validation of OCL Models by Integrating SAT Solving into USE. In: TOOLS EUROPE 2011. Volume 6705. (2011) 290–306

  32. Almeida, J., Musso, F., Carvalho, V., Fonseca, C., Guizzardi, G.: Preserving multi-level semantics in conventional two-level modeling techniques. In: ER. (2019) 142–151

  33. Hinkel, G.: Using structural decomposition and refinements for deep modeling of software architectures. Softw. Syst. Model. 18, 2787–2819 (2019)

    Article  Google Scholar 

  34. Kühne, T.: Exploring potency. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. (2018) 2–12

  35. Lange, A., Atkinson, C.: On the rules for inheritance in lml. In: 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C). (2019) 113–118

  36. Balaban, M., Kifer, M.: Logic-Based Model-Level Software Development with F-OML. In: MoDELS 2011. (2011)

  37. Balaban, M., Khitron, I., Kifer, M.: Logic-based software modeling with FOML. J. Object Technol. 19(3), 1–21 (2020)

    Article  Google Scholar 

  38. de Lara, J., Guerra, E.: Deep Meta-modelling with METADEPTH. In: the 48th International Conference on Objects, Models, Components, Patterns. (2010)

  39. Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Cross-layer modeler: a tool for flexible mlm with consistency checking. In: ACM SIGSOFT symp. (2011)

  40. Lange, A., Atkinson, C.: Multi-level modeling with melanee. In: MULTI 2018 Workshop co-located with MODELS 2018. (2018) 653–662

  41. Frank, U.: Multilevel modeling- toward a new paradigm of conceptual modeling and information systems design. Bus. Inf. Syst. Eng. 6, 319–337 (2014)

    Article  Google Scholar 

  42. de Kinderen, S., Kaczmarek-Heß, M.: On model-based analysis of organizational structures: an assessment of current modeling approaches and application of multi-level modeling in support of design and analysis of organizational structures. Software and Systems Modeling (2019)

  43. Mylopoulos, J., Borgida, A., Jarke, M., Koubarakis, M.: Telos: representing knowledge about information systems. ACM TOIS 8, 325–362 (1990)

    Article  Google Scholar 

  44. Kifer, M., G., L., Wu, J.: Logical foundations of object-oriented and frame-based languages. Journal of the ACM 42 (1995) 741–843

  45. Neumayr, B., Jeusfeld, M., Schrefl, M., Schütz, C.: Dual deep instantiation and its conceptbase implementation. In: Intl. Conf. on Advanced Information Systems Eng. (2014) 503–517

  46. Igamberdiev, S.M., Grossmann, G., Stumptner, M.: An Implementation of Multi-Level Modelling in F-Logic. In: 1st International Workshop on Multi-Level Modeling (Multi 2014). (2014)

  47. Neumayr, B., Schuetz, C.G., Jeusfeld, M.A., Schrefl, M.: Dual deep modeling: MLM with dual potencies and its formalization in F-Logic. SoSyM (2016)

  48. Igamberdiev, M., Grossmann, G., Selway, M., Stumptner, M.: An integrated multi-level modeling approach for industrial-scale data interoperability. Software & Systems Modeling , 269–294 (2018)

  49. Haslum, P., et al.: Reducing accidental complexity in planning problems. IJCA I, 1898–1903 (2007)

    Google Scholar 

  50. Gerbig, R.: Deep, seamless, multi-format, multi-notation definition and use of domain-specific languages. PhD thesis, School of Business Informatics and Mathematics, University of Mannheim (2017)

  51. Kuhne, T., Lange, A.: Meaningful metrics for multi-level modelling. In: MODELS Workshops, MULTI-2020. (2020)

  52. Balaban, M., Khitron, I., Maraee, A.: Context-aware factors in rearchitecting two-level models into multilevel models. In: MODELS Workshops, MULTI-2018. (2018)

  53. Fowler, M., Beck, K.: Refactoring: improving the design of existing code. Addison-Wesley Professional, Boston (1999)

    Google Scholar 

  54. Btiand, L., J., W., Lounis, H., Ikomomvski, S.: A Comprehensive Investigation of Quality Factors in Object-oriented Designs: An Industrial Case Study. In: The 21st International Conference on Software Engineering. (1999) 345–354

  55. Genero, M., Piatini, M., Manso: Finding early indicators of uml class diagrams understandability and modifiability. In: Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE ’04. (2004) 207–216

  56. Manso, M.E., Genero, M., Mario, P.: No-redundant metrics for uml class diagram structural complexity. In: International Conference on Advanced Information Systems Engineering. (2003) 127–142

  57. Genero, M., Manso, E., Visaggio, A., Canfora, G., Piattini, M.: Building measure-based prediction models for uml class diagram maintainability. Empirical Softw. Eng. 12, 517–549 (2007)

    Article  Google Scholar 

  58. Bagheri, E., Gasevic, D.: Assessing the maintainability of software product line feature models using structural metrics. Softw. Quality J. 19, 579–612 (2011)

    Article  Google Scholar 

  59. Cruz-Lemus, J.A., Maes, A., Genero, M., Poels, G., Piattini, M.: The impact of structural complexity on the understandability of uml statechart diagrams. Inf. Sci. 180, 2209–2220 (2010)

    Article  MathSciNet  Google Scholar 

  60. Acherkan, E., Hen-Tov, A., Lorenz, D.H., Schachter, L.: The ink language meta-metamodel for adaptive object-model frameworks. In: ACM Int. Conf. Comp. on OO Prog. Sys. Lang. and Appl. Companion. OOPSLA, 181–182 (2011)

  61. Atkinson, C., Gerbig, R., Kuhne, T.: Opportunities and Challenges for Deep Constraint Languages. In: 15th International Workshop on OCL and Textual Modeling. (2015)

  62. Umple Online Examples. https://github.com/umple/Umple/wiki/examples (2016) Accessed: Jun 29, 2016

  63. The Metamodel Zoos. https://web.imt-atlantique.fr/x-info/atlanmod/index.php?title=Zoos (2015) Accessed: 9 July 2015

  64. López-Sanz, M., Marcos, E.: Archimedes: a model-driven framework for the specification of service-oriented architectures. Inf. Syst. 37, 257–268 (2012)

    Article  Google Scholar 

  65. Merle, P., Barais, O., Parpaillon, J., Plouzeau, N., Tata, S.: A precise metamodel for open cloud computing interface. In: 2015 IEEE 8th International Conference on Cloud Computing, IEEE (2015) 852–859

  66. Strembeck, M., Mendling, J.: Modeling process-related rbac models with extended uml activity models. Inf. Softw. Technol. 53, 456–483 (2011)

    Article  Google Scholar 

  67. Lethbridge, T., Forward, A., Badreddin, O., Brestovansky, D., Garzon, M., Aljamaan, H., Eid, S., Orabi, A., Orabi, M., Abdelzad, V.: Umple: Model-driven development for open source and education. Science of Computer Programming 208,(2021)

  68. Lethbridge, T.C., Algablan, A.: Umple: an executable uml-based technology for agile model-driven development. In: Advancements in Model-Driven Architecture in Software Engineering. IGI Global (2021) 1–25

  69. UmpleOnline. http://cruise.eecs.uottawa.ca/umpleonline/ (2021) Accessed: January, 2021

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Azzam Maraee.

Additional information

Communicated by Adrian Rutle and Manuel Wimmer.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This work is supported in part by BSF Grant 2017742.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Balaban, M., Khitron, I. & Maraee, A. Accidental complexity in multilevel modeling revisited. Softw Syst Model 21, 517–542 (2022). https://doi.org/10.1007/s10270-021-00938-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-021-00938-2

Keywords

Navigation