skip to main content
10.1145/3276604.3276610acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Facet-oriented modelling: open objects for model-driven engineering

Published: 24 October 2018 Publication History

Abstract

Model-driven engineering (MDE) promotes models as the principal assets in software projects. Models are built using a modelling language whose syntax is defined by a metamodel. Hence, objects in models are typed by a metamodel class, and this typing relation is static as it is established at creation time and cannot be changed later. This way, objects in MDE are closed and fixed with respect to the type they conform to, the slots/properties they have, and the constraints they should obey. This hampers the reuse of model-related artefacts like model transformations, as well as the opportunistic or dynamic combination of metamodels.
To alleviate this rigidity, we propose making model objects open so that they can acquire or drop so-called facets, each one contributing a type, slots and constraints to the object. Facets are defined by regular metamodels, hence being a lightweight extension of standard metamodelling. Facet metamodels may declare usage interfaces, and it is possible to specify laws that govern how facets are to be assigned to the instances of a metamodel. In this paper, we describe our proposal, report on an implementation, and illustrate scenarios where facets have advantages over other techniques.

References

[1]
Colin Atkinson and Thomas Kühne. 2001. The essence of multilevel metamodeling. In UML (LNCS), Vol. 2185. Springer, 19-33.
[2]
Colin Atkinson, Dietmar Stoll, and Philipp Bostan. 2010. Orthographic software modeling: A practical approach to view-based development. In Evaluation of Novel Approaches to Software Engineering. Springer Berlin Heidelberg, Berlin, Heidelberg, 206-219.
[3]
Colin Atkinson, Christian Tunjic, and Torben Moller. 2015. Fundamental realization strategies for multi-view specification environments. In EDOC. IEEE Computer Society, 40-49.
[4]
Charles W. Bachman and Manilal Daya. 1977. The role concept in data models. In VLDB. IEEE Computer Society, 464-476.
[5]
Gábor Bergmann, Csaba Debreceni, István Ráth, and Dániel Varró. 2016. Query-based access control for secure collaborative modeling using bidirectional transformations. In MoDELS. ACM, 351-361.
[6]
Gordon S. Blair, Nelly Bencomo, and Robert B. France. 2009. [email protected]. IEEE Computer 42, 10 (2009), 22-27.
[7]
Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2017. Model-Driven Software Engineering in Practice, Second Edition. Morgan & Claypool Publishers, San Rafael, California (USA).
[8]
Jean-Michel Bruel, Benoit Combemale, Esther Guerra, Jean-Marc Jézéquel, Joerg Kienzle, Juan de Lara, Gunter Mussbacher, Eugene Syriani, and Hans Vangheluwe. 2018. Model transformation reuse across metamodels: A classification and comparison of approaches. In ICMT (LNCS), Vol. 10888. Springer, 1-18.
[9]
Hugo Bruneliere, Erik Burger, Jordi Cabot, and Manuel Wimmer. 2017. A feature-based survey of model view approaches. Software and System Modeling (in press) (2017), 1-22.
[10]
Arlen Cox, Bor-Yuh Evan Chang, and Xavier Rival. 2014. Automatic analysis of open objects in dynamic language programs. In Static Analysis (LNCS), Vol. 8723. Springer, 134-150.
[11]
Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2014. A component model for model transformations. IEEE Trans. Software Eng. 40, 11 (2014), 1042-1060.
[12]
Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2014. Towards the systematic construction of domain-specific transformation languages. In ECMFA (LNCS), Vol. 8569. Springer, 196-212.
[13]
Krzysztof Czarnecki and Simon Helsen. 2006. Feature-based survey of model transformation approaches. IBM Systems Journal 45, 3 (2006), 621-646.
[14]
Juan de Lara and Esther Guerra. 2010. Deep meta-modelling with MetaDepth. In TOOLS (LNCS), Vol. 6141. Springer, 1-20.
[15]
Juan de Lara and Esther Guerra. 2017. A posteriori typing for model-driven engineering: Concepts, analysis, and applications. ACM Transactions on Software Engineering and Methodology 25, 4 (2017), 31:1-31:60.
[16]
Juan de Lara, Esther Guerra, and Jesús Sánchez Cuadrado. 2013. Reusable abstractions for modeling languages. Inf. Syst. 38, 8 (2013), 1128-1149.
[17]
Edsger Wybe Dijkstra. 1982. In Selected Writings on Computing: A Personal Perspective. Springer-Verlag, 60-66.
[18]
Michalis Famelis and Marsha Chechik. 2017. Managing design-time uncertainty. Software and System Modeling (2017).
[19]
Gregoire Dupe Frederic Madiot. 2018. https://www.eclipse.org/facet/. (2018).
[20]
F. R. Golra, A. Beugnard, F. Dagnat, C. Guychard, and S. Guerin. 2016. Addressing modularity for heterogeneous multi-model systems using model federation. In MODULARITY. ACM, 206-211.
[21]
Esther Guerra and Juan de Lara. 2007. Event-driven grammars: relating abstract and concrete levels of visual languages. Software and System Modeling 6, 3 (2007), 317-347.
[22]
Clément Guy, Benoit Combemale, Steven Derrien, James Steel, and Jean-Marc Jézéquel. 2012. On model subtyping. In ECMFA (LNCS), Vol. 7349. Springer, 400-415. https://hal.inria.fr/hal-00695034.
[23]
Scott A. Hendrickson, Bryan Jett, and André van der Hoek. 2006. Layered class diagrams: Supporting the design process. In MoDELS (LNCS), Vol. 4199. Springer, 722-736.
[24]
Andrzej Jodlowski, Piotr Habela, Jacek Plodzien, and Kazimierz Subieta. 2003. Extending OO metamodels towards dynamic object roles. In OTM Confederated International Conferences (LNCS), Vol. 2888. Springer, 1032-1047.
[25]
Andrzej Jodlowski, Piotr Habela, Jacek Plodzien, and Kazimierz Subieta. 2004. Dynamic object roles -Adjusting the notion for flexible modeling. In IDEAS. IEEE Computer Society, 449-456.
[26]
Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2006. The Epsilon Object Language (EOL). In ECMDA-FA (LNCS), Vol. 4066. Springer, 128-142.
[27]
Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2006. Merging Models with the Epsilon Merging Language (EML). In MoDELS (Lecture Notes in Computer Science), Vol. 4199. Springer, 215-229.
[28]
Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2008. The Epsilon Transformation Language. In ICMT (LNCS), Vol. 5063. Springer, 46-60.
[29]
Max E. Kramer, Erik Burger, and Michael Langhammer. 2013. View-centric engineering with synchronized heterogeneous models. In VAO. ACM, New York, NY, USA, Article 5, 6 pages.
[30]
Thomas Kühn, Kay Bierzynski, Sebastian Richly, and Uwe Aßmann. 2016. FRaMED: full-fledge role modeling editor (tool demo). In SLE. ACM, 132-136.
[31]
Thomas Kühn, Stephan Böhme, Sebastian Götz, and Uwe Aßmann. 2015. A combined formal model for relational context-dependent roles. In SLE. ACM, 113-124.
[32]
Thomas Kühn, Max Leuthäuser, Sebastian Götz, Christoph Seidl, and Uwe Aßmann. 2014. A metamodel family for role-based modeling and programming languages. In SLE (LNCS), Vol. 8706. Springer, 141-160.
[33]
Philip Langer, Konrad Wieland, Manuel Wimmer, and Jordi Cabot. 2012. EMF profiles: A lightweight extension approach for EMF models. Journal of Object Technology 11, 1 (2012), 1-29.
[34]
Richard F. Paige, Dimitrios S. Kolovos, Louis M. Rose, Nicholas Drivalos, and Fiona A. C. Polack. 2009. The design of a conceptual framework and technical infrastructure for model management language engineering. In ICECCS. IEEE Computer Society, Washington, DC, USA, 162-171.
[35]
Michael Pradel and Martin Odersky. 2008. Scala roles - A lightweight approach towards reusable collaborations. In ICSOFT. INSTICC Press, 13-20.
[36]
Louis M. Rose, Richard F. Paige, Dimitrios S. Kolovos, and Fiona Polack. 2008. The Epsilon Generation Language. In ECMDA-FA (LNCS), Vol. 5095. Springer, 1-16.
[37]
Rick Salay, Michalis Famelis, Julia Rubin, Alessio Di Sandro, and Marsha Chechik. 2014. Lifting model transformations to product lines. In ICSE. ACM, New York, NY, USA, 117-128.
[38]
D. C. Schmidt. 2006. Guest Editor's Introduction: Model-Driven Engineering. Computer 39, 2 (Feb. 2006), 25-31.
[39]
Friedrich Steimann. 2000. On the representation of roles in object-oriented and conceptual modelling. Data Knowl. Eng. 35, 1 (2000), 83-106.
[40]
Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework, 2nd Edition. Addison-Wesley Professional, Upper Saddle River, NJ.
[41]
UML 2017. UML 2.5.1 OMG specification. http://www.omg.org/spec/UML/2.5.1/. (2017).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SLE 2018: Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering
October 2018
219 pages
ISBN:9781450360296
DOI:10.1145/3276604
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 October 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Flexible Modelling
  2. MetaDepth
  3. Metamodelling
  4. Model-Driven Engineering
  5. Reuse
  6. Role-Based Modelling

Qualifiers

  • Research-article

Funding Sources

  • Spanish MINECO
  • R\&D programme of the Madrid region

Conference

SLE '18
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Multi-dimensional multi-level modelingSoftware and Systems Modeling10.1007/s10270-021-00951-521:2(543-559)Online publication date: 18-Jan-2022
  • (2022)Supporting safe metamodel evolution with edeltaInternational Journal on Software Tools for Technology Transfer10.1007/s10009-022-00646-224:2(247-260)Online publication date: 3-Feb-2022
  • (2021)Facet-oriented ModellingACM Transactions on Software Engineering and Methodology10.1145/342807630:3(1-59)Online publication date: 11-Feb-2021
  • (2021)Comprehensive Systems: A formal foundation for Multi-Model Consistency ManagementFormal Aspects of Computing10.1007/s00165-021-00555-233:6(1067-1114)Online publication date: 30-Jul-2021
  • (2020)Platform-specific Modeling for RIOT based IoT SystemsProceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops10.1145/3387940.3392194(639-646)Online publication date: 27-Jun-2020
  • (2020)Positioning-Based Domain-Specific Modelling through Mobile Devices2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA51224.2020.00033(150-157)Online publication date: Aug-2020
  • (2019)Experience report on the development of a specialized multi-view multi-stakeholder model-based engineering frameworkProceedings of the 17th ACM SIGPLAN International Workshop on Domain-Specific Modeling10.1145/3358501.3361237(50-59)Online publication date: 20-Oct-2019
  • (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)Comparing and classifying model transformation reuse approaches across metamodelsSoftware and Systems Modeling10.1007/s10270-019-00762-9Online publication date: 12-Nov-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media