«

»

Contract-Aware Substitutability of Modeling Languages

by Sun Wuliang, Benoit Combemale, Steven Derrien, Robert France
Abstract:
Model typing brings the benefit associated with well-defined type systems to model-driven development (MDD) through the assignment of specific types to models. In particular, model type systems enable reuse of model manipulation operations (e.g., model transformations), where manipulations defined for models of a supertype can be used to manipulate models of subtypes. Existing model typing approaches are limited to structural typing defined in terms of object-oriented metamodels (e.g., MOF) in which the only structural (well-formedness) constraints are those that can be expressed directly in metamodeling notations (e.g., multiplicity and element containment constraints). In this paper we describe an extension to model typing that takes into consideration structural invariants, other than those that can be expressed directly in metamodeling notation, and specifications of behaviors associated with model types. The approach supports contract-aware substitutability, where contracts are defined in terms of invariants and pre-/postconditions expressed using OCL. Support for behavioral typing paves the way for behavioral substitutability. We also describe a technique to rigorously reason about model type substitutability as supported by contracts and apply the technique in use cases from the optimizing compiler community.
Reference:
Contract-Aware Substitutability of Modeling Languages (Sun Wuliang, Benoit Combemale, Steven Derrien, Robert France), In 9th European Conference on Modelling Foundations and Applications (ECMFA 2013), Springer, 2013.
Bibtex Entry:
@inproceedings{wuliang13,
	Abstract = {{Model typing brings the benefit associated with well-defined type systems to model-driven development (MDD) through the assignment of specific types to models. In particular, model type systems enable reuse of model manipulation operations (e.g., model transformations), where manipulations defined for models of a supertype can be used to manipulate models of subtypes. Existing model typing approaches are limited to structural typing defined in terms of object-oriented metamodels (e.g., MOF) in which the only structural (well-formedness) constraints are those that can be expressed directly in metamodeling notations (e.g., multiplicity and element containment constraints). In this paper we describe an extension to model typing that takes into consideration structural invariants, other than those that can be expressed directly in metamodeling notation, and specifications of behaviors associated with model types. The approach supports contract-aware substitutability, where contracts are defined in terms of invariants and pre-/postconditions expressed using OCL. Support for behavioral typing paves the way for behavioral substitutability. We also describe a technique to rigorously reason about model type substitutability as supported by contracts and apply the technique in use cases from the optimizing compiler community.}},
	Address = {Montpellier, France},
	Author = {Wuliang, Sun and Combemale, Benoit and Derrien, Steven and France, Robert},
	Booktitle = {{9th European Conference on Modelling Foundations and Applications (ECMFA 2013)}},
	Publisher = {Springer},
	Series = {LNCS},
	Title = {{Contract-Aware Substitutability of Modeling Languages}},
	Url = {http://hal.inria.fr/hal-00808770},
	Year = {2013},
	Bdsk-Url-1 = {http://hal.inria.fr/hal-00808770}}