Journal of Information Organization


Vol No. 14 ,Issue No. 1 2024

Model and Instance Diagrams for Meta-modelling and Model-driven Engineering
Johan G. Granström
Google Brandschenkestrasse 110 8002 Zürich, Switzerland., Department of Computer Science King’s College London Strand, London, WC2R 2LS, U.K.
Abstract: Sometimes, a diagram can contain more than 1000 lines of code. Unfortunately, most software engineers abandon diagrams after the design stage and do all the actual work in code. If diagrams were code, the superiority of code over diagrams would be even greater. This paper proposes that model and instance diagrams, or equivalently class and object diagrams, become the first-level entities in a well-expressed programming language, namely type theory. The proposed semantics of diagrams are compositional and self-describing (reflexive, meta-circular). Furthermore, it is well-suited for meta-modelling and model-driven engineering, as model transformations can be proven correct in type theory. Encoding diagrams into type theory also makes them immediately useful, provided that an implementation is implemented.
Keywords: Meta-modelling, Instance Diagrams, Model-Driven Engineering, Object Diagrams Model and Instance Diagrams for Meta-modelling and Model-driven Engineering
DOI:https://doi.org/10.6025/jio/2024/14/1/19-33
Full_Text   PDF 1.39 MB   Download:   14  times
References:

[1] André, C. (2004). Computing SyncCharts reactions. Electronic Notes in Theoretical Computer Science, 88, 3–19.
[2] Atkinson, C.., Kühne, T. (2003). Model-driven development: a metamodeling foundation. Software, IEEE, 20(5), 36–41.
[3] Berardi, D., Calvanese, D., De Giacomo, G. (2005). Reasoning on UML class diagrams. Artificial Intelligence, 168(1–2), 70–118.
[4] Bertot, Y.., Castéran, P. (2004). Coq’Art: The Calculus of Inductive Constructions. Texts in Theoretical Computer Science. Springer.
[5] Boronat, A.., Meseguer, J. (2008). An algebraic semantics for MOF. In J.L. Fiadeiro& P. Inverardi (Eds.), FASE 2008, volume 4961 of LNCS (pp. 377–391). Springer.
[6] Chen, P. P.-S. (1976). The entity-relationship model: toward a unified view of data. ACM Transactions on Database Systems, 1(1), 9–36.
[7] Codd, E. F. (1990). The Relational Model for Database Management. Addison-Wesley.
[8] Coquand, T.., Huet, G. (1988). The calculus of constructions. Inf. Comput., 76(2-3), 95–120.
[9] Date, C. J. (2000). An Introduction to Database Systems. O’Reilly (7th ed.).
[10] Date, C. J. (2005). Database in Depth. O’Reilly.
[11] Davis, M. (2000). Engines of Logic: Mathematicians and the Origin of the Computer. W. W. Norton & Company.
[12] de Bruijn, N. G. (1991). Telescopic mappings in typed lambda calculus. Inform. Comput., 91(2), 189–204.
[13] Feinerer, I.., Salzer, G. (2007). Consistency and minimality of UML class specifications with multiplicities and uniqueness constraints. In TASE 2007 (pp. 411–420). IEEE Computer Society Press.
[14] Fiorentini, C., Momigliano, A., Ornaghi, M.., Poernomo, I. (2010). A constructive approach to testing model transformations. In L. Tratt & M. Gogolla (Eds.), ICMT 2010, volume 6142 of LNCS (pp. 77–92). Springer.
[15] Girard, J. Y. (1972). Interprétationfonctionelle et élimination des coupures de l’arithmétiqued’ordresupérieur. PhD thesis, Université Paris 7.
[16] Granström, J. G. (2011). Treatise on Intuitionistic Type Theory. Logic, Epistemology, and the Unity of Science. Springer.
[17] Granström, J. G. (2012). A new paradigm for component-based development. Journal of Software, 7(5), 1136–1148.
[18] Halpin, T. A. (2010). Object-role modeling: principles and benefits. IJISMD, 1(1), 33–57.
[19] Hancock, P.., Setzer, A. (2000). Interactive programs in dependent type theory. In P. G. Clote & H. Schwichtenberg (Eds.), Computer Science Logic, volume 1862 of LNCS (pp. 317–331).
[20] Harel, D. (1987). Statecharts: a visual formalism for complex systems. Sci. Comput. Program., 8(3), 231–274.
[21] Harel, D.., Rumpe, B. (2004). Meaningful modeling: what’s the semantics of “semantics”? Computer, 37(10), 64–72.
[22] Hoogendijk, P.., de Moor, O. (2000). Container types categorically. J. Funct. Program., 10(2), 191–225.
[23] ISO/IEC. (2008). Information and definition schemas (SQL/schemata). Technical report, Geneva, Switzerland.
[24] Martin-Löf, P. (1984). Intuitionistic Type Theory. Studies in Proof Theory. Bibliopolis.
[25] Mellor, S.., Balcer, M. (2002). Executable UML: A foundation for model-driven architecture. Addison Wesley.
[26] Møller, A. (2005). Document structure description. Technical report, BRICS.
[27] Norell, U. (2009). Dependently typed programming in Agda. In P. Koopman, R. Plasmeijer., D. Swierstra (Eds.), Advanced Functional Programming, volume 5832 of LNCS (pp. 230–266). Springer.
[28] Peano, G. (1889). Arithmetices Principia Nova MethodoExposita. Fratelli Bocca.
[29] Poernomo, I. (2006). The meta-object facility typed. In SAC (pp. 1845–1849).
[30] Schmidt, D. C. (2006). Model-driven engineering. IEEE Computer, 39(2), 25–31.
[31] Seidewitz, E. (2003). What models mean. IEEE Softw., 20(5), 26–32.
[32] Tasistro, A. (1993). Formulation of Martin-Löf’s type theory with explicit substitutions. Licentiate thesis, Chalmers University of Technology.
[33] Thirioux, X., Combemale, B., Crégut, X.., Garoche, P. L. (2007). A framework to formalise the MDE foundations. In R. Paige & J. Bézivin (Eds.), International Workshop on Towers of Models (pp. 14–30).
[34] Turing, A. M. (1936). On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math. Soc., 2(42), 230–265.
[35] Wirth, N. (1977). What can we do about the unnecessary diversity of notation for syntactic definitions? Commun. ACM, 20(11), 822–823.