skip to main content
research-article

A Posteriori Typing for Model-Driven Engineering: Concepts, Analysis, and Applications

Published: 05 May 2017 Publication History

Abstract

Model-Driven Engineering (MDE) is founded on the ability to create and process models conforming to a meta-model. In this context, classes in a meta-model are used in two ways: as templates to create objects and as (static) classifiers for them. These two aspects are inherently tied in most meta-modelling approaches, which results in unnecessarily rigid systems and hinders reusability of MDE artefacts.
In this work, we discuss the benefits of decoupling object creation from typing in MDE. Thus, we rely on standard mechanisms for object creation, and propose a posteriori typing as a means to retype objects and enable multiple, partial, dynamic typings. This approach enhances flexibility; permits unanticipated reuse, as model management operations defined for a meta-model can be reused with other models once they get reclassified; and enables bidirectional model transformation by reclassification. In particular, we propose two mechanisms to realise model retyping and show their underlying theory and analysis methods. We show the feasibility of the approach by an implementation atop our meta-modelling tool MetaDepth and present several applications of retypings (transformations, reuse, and dynamicity).

References

[1]
Colin Atkinson, Bastian Kennel, and Björn Goß. 2011. Supporting constructive and exploratory modes of modeling in multilevel ontologies. In SWESE. 1--15.
[2]
Colin Atkinson and Thomas Kühne. 2003. Model-driven development: A metamodeling foundation. IEEE Softw. 20, 5 (2003), 36--41.
[3]
Colin Atkinson, Dietmar Stoll, and Philipp Bostan. 2010. Orthographic software modeling: A practical approach to view-based development, In ENASE 2008/2009, Revised Selected Papers. Commun. Comput. Informat. Sci. 69 (2010), 206--219.
[4]
François Bancilhon and Nicolas Spyratos. 1981. Update semantics of relational views. ACM Trans. Database Syst. 6, 4 (1981), 557--575.
[5]
Gilad Bracha. 2004. Pluggable type systems. In OOPSLA Workshop on Revival of Dynamic Languages. 1--6.
[6]
Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2012. Model-Driven Software Engineering in Practice. Morgan 8 Claypool Publishers.
[7]
Erik Burger, Jörg Henss, Martin Küster, Steffen Kruse, and Lucia Happe. 2016. View-based model-driven software development with ModelJoin. Softw. Syst. Model. 15, 2 (2016), 473--496.
[8]
Jordi Cabot and Ernest Teniente. 2009. Incremental integrity checking of UML/OCL conceptual schemas. J. Syst. Softw. 82, 9 (2009), 1459--1478.
[9]
P. S. Canning, W. R. Cook, W. L. Hill, and W. G. Olthoff. 1989. Interfaces for strongly-typed object-oriented programming. In OOPSLA. ACM, New York, NY, 457--467.
[10]
Robert Clarisó, Jordi Cabot, Esther Guerra, and Juan de Lara. 2016. Backwards reasoning for model transformations: Method and applications. J. Syst. Softw. 116 (2016), 113--132.
[11]
Robert Clarisó, Carlos A. González, and Jordi Cabot. 2015. Towards domain refinement for UML/OCL bounded verification. In SEFM (LNCS), Vol. 9276. Springer, 108--114.
[12]
Marc Conrad, Marianne Huchard, and Thomas Preuss. 2008. Integrating shadows in model driven engineering for agile software development. In CISIS. 549--554.
[13]
C. J. Date. 2003. An Introduction to Database Systems, 8th ed. Pearson Education.
[14]
Umeshwar Dayal and Philip A. Bernstein. 1982. On the correct translation of update operations on relational views. ACM Trans. Database Syst. 7, 3 (1982), 381--416.
[15]
Juan de Lara and Esther Guerra. 2010. Deep meta-modelling with MetaDepth. In TOOLS (LNCS), Vol. 6141. Springer, 1--20.
[16]
Juan de Lara and Esther Guerra. 2013. From types to type requirements: Genericity for model-driven engineering. Software Syst. Model. 12, 3 (2013), 453--474.
[17]
Juan de Lara and Esther Guerra. 2014. Towards the flexible reuse of model transformations: A formal approach based on graph transformation. J. Log. Algebr. Meth. Program. 83, 5--6 (2014), 427--458.
[18]
Juan de Lara, Esther Guerra, and Jesús Sánchez Cuadrado. 2014. When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. 24, 2 (2014), 12:1--12:46.
[19]
Juan de Lara, Esther Guerra, and Jesús Sánchez Cuadrado. 2015. A-posteriori typing for model-driven engineering. In MODELS. IEEE, 156--165.
[20]
Zinovy Diskin, Romina Eramo, Alfonso Pierantonio, and Krzysztof Czarnecki. 2016a. Incorporating uncertainty into bidirectional model transformations and their delta-lens formalization. In Workshop Proceedings of the Bx (CEUR’16), Vol. 1571. 15--31.
[21]
Zinovy Diskin, Hamid Gholizadeh, Arif Wider, and Krzysztof Czarnecki. 2016b. A three-dimensional taxonomy for bidirectional model synchronization. J. Syst. Softw. 111 (2016), 298--322.
[22]
Zinovy Diskin, T. Maibaum, and Krzysztof Czarnecki. 2012. Intermodeling, queries, and Kleisli categories. In FASE (LNCS), Vol. 7212. Springer, 163--177.
[23]
Sophia Drossopoulou, Ferruccio Damiani, Mariangiola Dezani, and Paola Giannini. 2002. More dynamic object reclassification: Fickle||. ACM Trans. Program. Lang. Syst. 24, 2 (2002), 153--191.
[24]
Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. 2006. Fundamentals of Algebraic Graph Transformation. Springer.
[25]
Sebastian Fischer, Zhenjiang Hu, and Hugo Pacheco. 2015. The essence of bidirectional programming. Sci. Chin. Informat. Sci. 58, 5 (2015), 1--21.
[26]
J. Nathan Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt. 2007. Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29, 3 (2007), Article 17, 65 pages.
[27]
Lidia Fuentes and Antonio Vallecillo. 2004. An introduction to UML profiles. UPGRADE V, 2 (2004), 6--13.
[28]
Georg Gottlob, Michael Schrefl, and Brigitte Röck. 1996. Extending object-oriented systems with roles. ACM Trans. Inf. Syst. 14, 3 (1996), 268--296.
[29]
Douglas Gregor, Jaakko Järvi, Jeremy Siek, Bjarne Stroustrup, Gabriel dos Reis, and Andrew Lumsdaine. 2006. Concepts: Linguistic support for generic programming in C++. SIGPLAN Not. 41, 10 (2006), 291--310.
[30]
Esther Guerra and Juan de Lara. 2017. Automated analysis of integrity constraints in multilevel models. Data Knowl. Eng. 107 (2017), 1--23.
[31]
Esther Guerra, Juan de Lara, Alessio Malizia, and Paloma Díaz. 2009. Supporting user-oriented analysis for multi-view domain-specific visual languages. Informat. Softw. Technol. 51, 4 (2009), 769--784.
[32]
Clement Guy, Benoît Combemale, Steven Derrien, Jim Steel, and Jean-Marc Jézéquel. 2012. On model subtyping. In ECMFA (LNCS), Vol. 7349. Springer, 400--415.
[33]
Frank Hermann, Hartmut Ehrig, and Claudia Ermel. 2009. Transformation of type graphs with inheritance for ensuring security in e-government networks. In FASE (LNCS), Vol. 5503. Springer, 325--339.
[34]
Stephan Herrmann. 2007. A precise model for contextual roles: The programming language ObjectTeams/Java. Appl. Ontol. 2, 2 (2007), 181--207.
[35]
Soichiro Hidaka, Massimo Tisi, Jordi Cabot, and Zhenjiang Hu. 2016. Feature-based classification of bidirectional transformation approaches. Softw. Syst. Model. 15, 3 (2016), 907--928.
[36]
Daniel Jackson. 2002. Alloy: A lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11, 2 (2002), 256--290.
[37]
Daniel Jackson. 2006. Software Abstractions—Logic, Language, and Analysis. MIT Press.
[38]
Johannes Jakob, Alexander Königs, and Andy Schürr. 2006. Non-materialized model view specification with triple graph grammars. In ICGT (LNCS), Vol. 4178. Springer, 321--335.
[39]
K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report. Carnegie-Mellon University Software Engineering Institute.
[40]
Steven Kelly and Juha-Pekka Tolvanen. 2008. Domain-Specific Modeling—Enabling Full Code Generation. Wiley. Retrieved from http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470036664.html.
[41]
Haim Kilov, Peter F. Linington, José Raúl Romero, Akira Tanaka, and Antonio Vallecillo. 2013. The reference model of open distributed processing: Foundations, experience and applications. Comput. Stand. Interf. 35, 3 (2013), 247--256.
[42]
Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2006. The epsilon object language. In ECMFA (LNCS), Vol. 4066. Springer, 128--142.
[43]
Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2008. The epsilon transformation language. In Proceedings of the 1st Internation Conference of Theory and Practice of Model Transformations (ICMT’08). Lecture Notes in Computer Science, Vol. 5063. Springer, 46--60.
[44]
Mirco Kuhlmann and Martin Gogolla. 2012. From UML and OCL to relational logic and back. In MODELS (LNCS), Vol. 7590. Springer, 415--431.
[45]
Thomas Kühne. 2013. On model compatibility with referees and contexts. Softw. Syst. Model. 12, 3 (2013), 475--488.
[46]
Liwu Li. 2004. Extending the java language with dynamic classification. J. Obj. Technol. 3, 7 (2004), 101--120.
[47]
T. Murata. 1989. Petri nets: Properties, analysis and applications. Proc. IEEE 77, 4 (1989), 541--580.
[48]
James Noble, Antero Taivalsaari, and Ivan Moore. 1999. Prototype-Based Programming: Concepts, Languages and Applications. Springer-Verlag.
[49]
Antoni Olivé. 2007. Conceptual Modeling of Information Systems. Springer.
[50]
OMG. 2013a. SMOF 1.0. Retrieved from http://www.omg.org/spec/SMOF/1.0/.
[51]
OMG. 2013b. UML 2.5. Retrieved from http://www.omg.org/spec/UML/2.5/Beta2/.
[52]
OMG. 2014. MOF 2.4.2. Retrieved from http://www.omg.org/spec/MOF/.
[53]
OMG. 2016. QVT 2.0. Retrieved from http://www.omg.org/spec/QVT/.
[54]
Richard Paige, Dimitrios Kolovos, Louis Rose, Nicholas Drivalos, and Fiona Polack. 2009. The design of a conceptual framework and technical infrastructure for model management language engineering. In ICECCS. IEEE Computer Society, Washington, DC. 162--171.
[55]
Benjamin C. Pierce. 2002. Types and Programming Languages. MIT Press.
[56]
Rick Salay, Steffen Zschaler, and Marsha Chechick. 2015. Transformation reuse: What is the intent? In Workshop Proceedings of the Analysis of Model Transformations (CEUR), Vol. 1500. 7--15.
[57]
Rick Salay, Steffen Zschaler, and Marsha Chechik. 2016. Correct reuse of transformations is hard to guarantee. In ICMT (LNCS), Vol. 9765. Springer, 107--122.
[58]
Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2014. A component model for model transformations. IEEE Trans. Softw. Eng. 40, 11 (2014), 1042--1060.
[59]
Andy Schürr. 1994. Specification of graph translators with triple graph grammars. In WG (LNCS’94), Vol. 903. Springer, 151--163.
[60]
Jim Steel and Jean Jézéquel. 2007. On model typing. Softw. Syst. Model. 6, 4 (2007), 401--413.
[61]
Friedrich Steimann. 2000. On the representation of roles in object-oriented and conceptual modelling. Data Knowl. Eng. 35, 1 (2000), 83--106.
[62]
Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework (2nd ed.). Addison-Wesley Professional, Upper Saddle River, NJ.
[63]
Perdita Stevens. 2010. Bidirectional model transformations in QVT: Semantic issues and open questions. Softw. Syst. Model. 9, 1 (2010), 7--20.
[64]
Tetsuo Tamai, Naoyasu Ubayashi, and Ryoichi Ichiyama. 2005. An adaptive object model with dynamic role binding. In ICSE. ACM, New York, NY, 166--175.
[65]
David Ungar and Randall B. Smith. 1987. Self: The power of simplicity. In OOPSLA. ACM, New York, NY, 227--242.
[66]
Christian Wende. 2012. Language Family Engineering with Features and Role-Based Composition. Ph.D. Dissertation. Technischen Universität Dresden.
[67]
Christian Wende, Nils Thieme, and Steffen Zschaler. 2009. A role-based approach towards modular language engineering. In SLE (LNCS), Vol. 5969. Springer, 254--273.
[68]
Steffen Zschaler. 2014. Towards constraint-based model types: A generalised formal foundation for model genericity. In VAO. ACM, New York, NY, Article 11, 8 pages.

Cited By

View all
  • (2024)How are informal diagrams used in software engineering? An exploratory study of open-source and industrial practicesSoftware and Systems Modeling10.1007/s10270-024-01252-3Online publication date: 20-Dec-2024
  • (2023)Safe reuse in modelling language engineering using model subtyping with OCL constraintsSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01028-722:3(797-818)Online publication date: 1-Jun-2023
  • (2021)Towards Facilitating the Exploration of Informal Concepts in Formal Modeling Tools2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C53483.2021.00044(244-248)Online publication date: Oct-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 25, Issue 4
May 2017
183 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/3007747
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 May 2017
Accepted: 01 February 2017
Revised: 01 February 2017
Received: 01 June 2016
Published in TOSEM Volume 25, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. A-posteriori model typing
  2. MetaDepth
  3. Model-driven engineering
  4. bidirectionality
  5. dynamic typing
  6. model transformations
  7. partial typing
  8. reusability

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • Spanish MINECO
  • R8D programme of the Madrid Region

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)9
Reflects downloads up to 10 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)How are informal diagrams used in software engineering? An exploratory study of open-source and industrial practicesSoftware and Systems Modeling10.1007/s10270-024-01252-3Online publication date: 20-Dec-2024
  • (2023)Safe reuse in modelling language engineering using model subtyping with OCL constraintsSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01028-722:3(797-818)Online publication date: 1-Jun-2023
  • (2021)Towards Facilitating the Exploration of Informal Concepts in Formal Modeling Tools2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C53483.2021.00044(244-248)Online publication date: Oct-2021
  • (2021)Defining behaviorizeable relations to enable inference in semi-automatic program synthesisJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2021.100714123(100714)Online publication date: Nov-2021
  • (2021)Multi-paradigm modelling for cyber–physical systems: a descriptive frameworkSoftware and Systems Modeling (SoSyM)10.1007/s10270-021-00876-z20:3(611-639)Online publication date: 1-Jun-2021
  • (2019)Automated Reuse of Model Transformations through Typing Requirements ModelsACM Transactions on Software Engineering and Methodology10.1145/334010828:4(1-62)Online publication date: 2-Sep-2019
  • (2019)Towards sketching interfaces for multi-paradigm modelingProceedings of the 22nd International Conference on Model Driven Engineering Languages and Systems Companion10.1109/MODELS-C.2019.00070(437-442)Online publication date: 15-Sep-2019
  • (2019)Towards a formal specification of multi-paradigm modellingProceedings of the 22nd International Conference on Model Driven Engineering Languages and Systems Companion10.1109/MODELS-C.2019.00067(419-424)Online publication date: 15-Sep-2019
  • (2019)Comparing and classifying model transformation reuse approaches across metamodelsSoftware and Systems Modeling10.1007/s10270-019-00762-9Online publication date: 12-Nov-2019
  • (2018)Refactoring Multi-Level ModelsACM Transactions on Software Engineering and Methodology10.1145/328098527:4(1-56)Online publication date: 16-Nov-2018
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media