Type inference in flexible model-driven engineering using classification algorithms
Zolotas, Athanasios; Matragkas, Nicholas; Devlin, Sam; Kolovos, Dimitrios S.; Paige, Richard F.
Dimitrios S. Kolovos
Richard F. Paige
Flexible or bottom-up model-driven engineering (MDE) is an emerging approach to domain and systems modelling. Domain experts, who have detailed domain knowledge, typically lack the technical expertise to transfer this knowledge using traditional MDE tools. Flexible MDE approaches tackle this challenge by promoting the use of simple drawing tools to increase the involvement of domain experts in the language definition process. In such approaches, no metamodel is created upfront, but instead the process starts with the definition of example models that will be used to infer the metamodel. Pre-defined metamodels created by MDE experts may miss important concepts of the domain and thus restrict their expressiveness. However, the lack of a metamodel, that encodes the semantics of conforming models has some drawbacks, among others that of having models with elements that are unintentionally left untyped. In this paper, we propose the use of classification algorithms to help with the inference of such untyped elements. We evaluate the proposed approach in a number of random generated example models from various domains. The correct type prediction varies from 23 to 100% depending on the domain, the proportion of elements that were left untyped and the prediction algorithm used.
Zolotas, A., Matragkas, N., Devlin, S., Kolovos, D. S., & Paige, R. F. (2019). Type inference in flexible model-driven engineering using classification algorithms. Software and systems modeling, 18(1), 345–366. https://doi.org/10.1007/s10270-018-0658-5
|Journal Article Type||Article|
|Acceptance Date||Jan 11, 2018|
|Online Publication Date||Jan 23, 2018|
|Deposit Date||Feb 6, 2018|
|Publicly Available Date||Feb 13, 2018|
|Journal||Software and Systems Modeling|
|Peer Reviewed||Peer Reviewed|
|Keywords||Model-driven engineering (MDE); Flexible model-driven engineering; Bottom-up metamodelling; Type inference; Classification and regression trees; Random forests|
|Copyright Statement||© The Author(s) 2018. This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.|
Publisher Licence URL
© The Author(s) 2018. This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
You might also like
Evolving models in model-driven engineering : state-of-the-art and future challenges
Constraint programming for type inference in flexible model-driven engineering
Formal verification and validation of embedded systems: the UML-based MADES approach
Supporting custom quality models to analyse and compare open-source software