Abstract

Checking the consistency of a metamodel involves finding a valid metamodel instance that provably meets the set of constraints that are defined over the metamodel. These constraints are often specified in Object Constraint Language. Often, a metamodel is inconsistent due to conflicts among the constraints. Existing approaches and tools are typically incapable of pinpointing the conflicting constraints, and this makes it difficult for users to debug and fix their metamodels. In this paper, we present a formal approach for locating conflicting constraints in inconsistent metamodels. Our approach has four distinct features: (1) users can rank individual metamodel features using their own domain-specific knowledge, (2) we transform these ranked features to a weighted maximum satisfiability modulo theories problem and solve it to compute the set of maximum achievable features, (3) we pinpoint the conflicting constraints by solving the set cover problem using a novel algorithm, and (4) we have implemented our approach into a fully automated tool called MaxUSE. Our evaluation results, using our assembled set of benchmarks, demonstrate the scalability of our work and that it is capable of efficiently finding conflicting constraints.

Highlights

  • Metamodelling plays a key role in model-driven engineering (MDE), it paves the way for many other MDE approaches including model transformation, language engineering and business process modelling [8,47,84]

  • In order to extensively evaluate the capabilities of our tool, MaxUSE, we initially collected a group of metamodels from [36]

  • We have presented a formal approach to finding achievable features and constraint conflicts for inconsistent metamodels

Read more

Summary

Introduction

Metamodelling plays a key role in model-driven engineering (MDE), it paves the way for many other MDE approaches including model transformation, language engineering and business process modelling [8,47,84].

Objectives
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call