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.
Similar content being viewed by others
Notes
An exception is a pattern in [5] that suggests a transformation for client classes of a type-instance pattern.
Part of this context appears in [4].
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.
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.
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.
Shotgun Surgery is the software smell characterizing cases where a change in one place implies multiple changes in the code.
Indeed, an ambiguous semantics of the potency labeling.
For simplicity, method text and constraints are removed.
This is not a refactoring since replacing subtyping or association by type membership changes the semantics.
This paper points to a site that lists type-instance occurrences in meta-models, http://miso.es/multilevel/multi-level-patterns.htm.
Sizes of ATL models are taken from [5].
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
Henderson-Sellers, B.: On the Mathematics of Modelling, Metamodelling, Ontologies and Modelling Languages. Springer Science & Business Media, Berlin (2012)
Brooks, F.P.: No silver bullet—essence and accident in software engineering. IEEE Computer 20, 10–19 (1987)
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)
Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7, 345–359 (2008)
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
de Lara, J., Guerra, E., Cuadrado, J.S.: Model-driven engineering with domain-specific meta-modelling languages. SoSyM 14, 429–459 (2013)
de Lara, J., Guerra, E., Cobos, R., Moreno-Llorena, J.: Extending deep meta-modelling for practical mde. Comput. J. 57, 36–58 (2014)
Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: UML. Springer (2001) 19–33
Atkinson, C., Kühne, T.: Rearchitecting the uml infrastructure. ACM Trans. Model. Comput. Simul. 12, 290–321 (2002)
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)
Balaban, M., Khitron, I., Kifer, M., Maraee, A.: Formal executable theory of multilevel modeling. In: CAISE. (2018)
Balaban, M., Khitron, I., Kifer, M., Maraee, A.: Multilevel modeling: what’s in a level? a position paper. In: MODELS Workshops, MULTI-2018. (2018)
Rushton, A., Croucher, P., Baker, P.: The handbook of logistics and distribution management: Understanding the supply chain. Kogan Page Publishers (2014)
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)
Litium docs: Litium Domain model of ERP connect API order contracts. https://bit.ly/3p8ER7u (2020) Accessed: Jan 31, 2020
Khitron, I., Balaban, M., Kifer, M.: FOML Site. https://goo.gl/AgxmMc (2021)
Fowler, M.: Analysis Patterns: Reusable Object Models. Addison-Wesley, Boston (1997)
Johnson, R., Woolf, B.: The Type Object Pattern. http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/dpa/typeobject.pdf (1996)
Nystrom, R.: Game Programming Patterns. Genever Benning (2014)
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
Odell, J.: Power types. J. Object Oriented Program. 7, 8–12 (1994)
Gonzalez-Perez, C., Henderson-Sellers, B.: A powertype-based metamodelling framework. Softw. Syst. Model. 5, 72–90 (2006)
Object Management Group (OMG): OMG Unified Modeling Language. Specification Version 2.5, OMG (2015)
Carvalho, V.A., Almeida, J.P.A.: Toward a well-founded theory for multi-level conceptual modeling. Softw. Syst. Model. 17, 205–231 (2016)
Almeida, J., Fonseca, C., Carvalho, V.: A comprehensive formal theory for multi-level conceptual modeling. In: ER. (2017) 280–294
Jeusfeld, M.A., Neumayr, B.: Deeptelos: Multi-level modeling with most general instances. ER 2016, 198–211 (2016)
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)
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)
Gogolla, M., Sedlmeier, M., Hamann, L., Hilken, F.: On metamodel superstructures employing UML generalization features. In: MULTI’2014. (2014)
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)
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
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
Hinkel, G.: Using structural decomposition and refinements for deep modeling of software architectures. Softw. Syst. Model. 18, 2787–2819 (2019)
Kühne, T.: Exploring potency. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. (2018) 2–12
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
Balaban, M., Kifer, M.: Logic-Based Model-Level Software Development with F-OML. In: MoDELS 2011. (2011)
Balaban, M., Khitron, I., Kifer, M.: Logic-based software modeling with FOML. J. Object Technol. 19(3), 1–21 (2020)
de Lara, J., Guerra, E.: Deep Meta-modelling with METADEPTH. In: the 48th International Conference on Objects, Models, Components, Patterns. (2010)
Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Cross-layer modeler: a tool for flexible mlm with consistency checking. In: ACM SIGSOFT symp. (2011)
Lange, A., Atkinson, C.: Multi-level modeling with melanee. In: MULTI 2018 Workshop co-located with MODELS 2018. (2018) 653–662
Frank, U.: Multilevel modeling- toward a new paradigm of conceptual modeling and information systems design. Bus. Inf. Syst. Eng. 6, 319–337 (2014)
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)
Mylopoulos, J., Borgida, A., Jarke, M., Koubarakis, M.: Telos: representing knowledge about information systems. ACM TOIS 8, 325–362 (1990)
Kifer, M., G., L., Wu, J.: Logical foundations of object-oriented and frame-based languages. Journal of the ACM 42 (1995) 741–843
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
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)
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)
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)
Haslum, P., et al.: Reducing accidental complexity in planning problems. IJCA I, 1898–1903 (2007)
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)
Kuhne, T., Lange, A.: Meaningful metrics for multi-level modelling. In: MODELS Workshops, MULTI-2020. (2020)
Balaban, M., Khitron, I., Maraee, A.: Context-aware factors in rearchitecting two-level models into multilevel models. In: MODELS Workshops, MULTI-2018. (2018)
Fowler, M., Beck, K.: Refactoring: improving the design of existing code. Addison-Wesley Professional, Boston (1999)
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
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
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
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)
Bagheri, E., Gasevic, D.: Assessing the maintainability of software product line feature models using structural metrics. Softw. Quality J. 19, 579–612 (2011)
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)
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)
Atkinson, C., Gerbig, R., Kuhne, T.: Opportunities and Challenges for Deep Constraint Languages. In: 15th International Workshop on OCL and Textual Modeling. (2015)
Umple Online Examples. https://github.com/umple/Umple/wiki/examples (2016) Accessed: Jun 29, 2016
The Metamodel Zoos. https://web.imt-atlantique.fr/x-info/atlanmod/index.php?title=Zoos (2015) Accessed: 9 July 2015
López-Sanz, M., Marcos, E.: Archimedes: a model-driven framework for the specification of service-oriented architectures. Inf. Syst. 37, 257–268 (2012)
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
Strembeck, M., Mendling, J.: Modeling process-related rbac models with extended uml activity models. Inf. Softw. Technol. 53, 456–483 (2011)
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)
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
UmpleOnline. http://cruise.eecs.uottawa.ca/umpleonline/ (2021) Accessed: January, 2021
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-021-00938-2