Abstract
Domain experts typically have detailed knowledge of the concepts that are used in their domain; however they often lack the technical skills needed to translate that knowledge into model-driven engineering (MDE) idioms and technologies. Flexible or bottom-up modelling has been introduced to assist with the involvement of domain experts by promoting the use of simple drawing tools. In traditional MDE the engineering process starts with the definition of a metamodel which is used for the instantiation of models. In bottom-up MDE example models are defined at the beginning, letting the domain experts and language engineers focus on expressing the concepts rather than spending time on technical details of the metamodelling infrastructure. The metamodel is then created manually or inferred automatically. The flexibility that bottom-up MDE offers comes with the cost of having nodes in the example models left untyped. As a result, concepts that might be important for the definition of the domain will be ignored while the example models cannot be adequately re-used in future iterations of the language definition process. In this paper, we propose a novel approach that assists in the inference of the types of untyped model elements using Constraint Programming. We evaluate the proposed approach in a number of example models to identify the performance of the prediction mechanism and the benefits it offers. The reduction in the effort needed to complete the missing types reaches up to 91.45% compared to the scenario where the language engineers had to identify and complete the types without guidance.
Highlights
In our work we use the Muddles approach [3] for sketching model examples
These example models help language engineers to better understand the concepts of the envisioned Domain-Specific Language (DSL) and can be used to infer draft metamodels manually orautomatically which eventually lead in the definition of the final metamodel
This work contributes a novel approach in addressing the challenges associated with type omissions, but this time taking into account a draft metamodel constructed by language engineers, using constraint programming principles for suggesting the possible types
Summary
In flexible (or bottom-up) MDE, the process starts with the definition of example models [1,6,7] These example models help language engineers to better understand the concepts of the envisioned DSL and can be used to infer draft metamodels manually or (semi-)automatically which eventually lead in the definition of the final metamodel. In this fashion, a richer understanding of the domain can be developed incrementally, while concrete insights (e.g. type information) pertaining to the envisioned metamodel are discovered. Since sketching tools cannot enforce syntactic and semantic correctness rules, flexible models are prone to various types of errors [10]: 1. User input errors: Elements that should share the same type have different types assigned to them by mistake or as a result of a typo (e.g. Animal vs. Anmal)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.