Complexity and expressive power of logic programming
ACM Computing Surveys (CSUR)
The verifying compiler: A grand challenge for computing research
Journal of the ACM (JACM)
Hierarchical graph transformation
Journal of Computer and System Sciences
Logic and Databases: A 20 Year Retrospective
LID '96 Proceedings of the International Workshop on Logic in Databases
Towards a formal foundation for domain specific modeling languages
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
CSP(M): Constraint Satisfaction Problem over Models
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Reasoning about metamodeling with formal specifications and automatic proofs
Proceedings of the 14th international conference on Model driven engineering languages and systems
Dynamic constraint satisfaction problems over models
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
The structural semantics of UML-based metamodeling were recently explored[1], providing a characterization of the models adhering to a metamodel. In particular, metamodels can be converted to a set of constraints expressed in a decidable subset of first-order logic, an extended Horn logic. We augment the constructive techniques found in logic programming, which are also based on an extended Horn logic, to produce constructive techniques for reasoning about models and meta-models. These methods have a number of practical applications: At the meta-level, it can be decided if a (composite) metamodel characterizes a non-empty set of models, and a member can be automatically constructed. At the model-level, it can be decided if a submodel has an embedding in a well-formed model, and the larger model can be constructed. This amounts to automatic model construction from an incomplete model. We describe the concrete algorithms for constructively solving these problems, and provide concrete examples.