A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Alloy: a lightweight object modelling notation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Computer
PolyTOIL: A type-safe polymorphic object-oriented language
ACM Transactions on Programming Languages and Systems (TOPLAS)
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Design by Contract: The Eiffel Method
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
EMF: Eclipse Modeling Framework 2.0
EMF: Eclipse Modeling Framework 2.0
Approaches for Model Transformation Reuse: Factorization and Composition
ICMT '08 Proceedings of the 1st international conference on Theory and Practice of Model Transformations
Templatable metamodels for semantic variation points
ECMDA-FA'07 Proceedings of the 3rd European conference on Model driven architecture-foundations and applications
Generic meta-modelling with concepts, templates and mixin layers
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part I
Rigorous Analysis of UML Access Control Policy Models
POLICY '11 Proceedings of the 2011 IEEE International Symposium on Policies for Distributed Systems and Networks
Realizing Model Transformation Chain interoperability
Software and Systems Modeling (SoSyM)
Weaving executability into object-oriented meta-languages
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
UniTI: a unified transformation infrastructure
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Using feature model to build model transformation chains
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
On model compatibility with referees and contexts
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
Model typing extends the applicability of typing to model-oriented type system by assigning models with specific types. It provides support for model substitutability addressing a wide range of facilities such as model transformation reuse. While existing approaches are limited to object-oriented metamodels (e.g., MOF) as types, there is a need for exploring more precise types. In particular, we propose in this paper an extension to model typing that takes into account contract-aware substitutability where contracts are defined in terms of invariants and pre-/postconditions expressed using OCL. While invariants offer a suitable way to complete object-oriented metamodels with additional structural properties, pre-/postconditions pave the way of behavioral substitutability for model transformation specialization. We also provide an implementation to rigorously reason about the substitutability on model types with contracts and apply it on use cases coming from the optimizing compiler community.