Title
Facet-oriented modelling: open objects for model-driven engineering.
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.
Year
DOI
Venue
2018
10.1145/3276604.3276610
SLE '18: 11th ACM SIGPLAN International Conference on Software Language Engineering Boston MA USA November, 2018
Keywords
Field
DocType
Model-Driven Engineering, Metamodelling, Flexible Modelling, Role-Based Modelling, Reuse, METADEPTH
Rigidity (psychology),Programming language,Model-driven architecture,Computer science,Reuse,Software,Facet (geometry),Syntax,Metamodeling
Conference
ISBN
Citations 
PageRank 
978-1-4503-6029-6
1
0.37
References 
Authors
0
4
Name
Order
Citations
PageRank
Juan de Lara11596132.28
Esther Guerra250445.53
Jörg Kienzle373269.38
Yanis Hattab410.37