McMaster University
Computing and Software
Model-versioning-in-the-large is concerned with complex scenarios involving multiple updates and multiple replicas of a model. The paper introduces tile systems as rephrasing of double categories in model versioning terms, and shows that... more
There is a hidden intrigue in the title. CT is one of the most abstract mathematical disciplines, sometimes nicknamed "abstract nonsense". MDE is a recent trend in software development, industrially supported by standards, tools, and the... more
A megamodel is a model, whose instances are systems of models and intermodel relationships. To be independent of a particular modeling language, typical megamodels reduce models and their relationships to unstructured nodes and edges,... more
- by Zinovy Diskin
- M, A
Triple graph grammars (TGGs) have been used successfully to analyze correctness and completeness of bidirectional model transformations, but a corresponding formal approach to model synchronization has been missing. This paper closes this... more
We present Clafer (class, feature, reference), a class modeling language with first-class support for feature modeling. We designed Clafer as a concise notation for meta-models, feature models, mixtures of metaand feature models (such as... more
Software development often involves a set of models defined in different metamodels, each model capturing a specific view of the system. We call this set a multimodel, and its elements partial or local models. Since partial models... more
Specification and maintenance of relationships between models are vital for MDE. We show that a wide class of such relationships can be specified in a compact and precise manner, if intermodel mappings are allowed to link derived model... more
Triple graph grammars (TGGs) have been used successfully to analyze correctness and completeness of bidirectional model transformations, but a corresponding formal approach to model synchronization has been missing. This paper closes this... more
Multiple (more than 2) model synchronization is ubiquitous and important for MDE, but its theoretical underpinning gained much less attention than the binary case. Specifically, the latter was extensively studied by the bx community in... more
Software design requires deployment of interdependent models conforming to different metamodels. This set of models is called a multimodel, and it must satisfy a set of global constraints regulating interaction of the multimodel... more
Software design requires deployment of a collection of interdependent models conforming to different metamodels. These so-called multi-models present different views of interest and may be consistent only if they simultaneously satisfy a... more
In Model-Driven Engineering, bidirectional transformations are key to managing consistency and synchronization of related models. Deltalenses are a exible algebraic framework designed for specifying deltabased synchronization operations.... more
Model management tools contain common aspects that are frequently reinvented for each tool. Platform specific solutions to common problems may vary by language, however, the high-level specifications should be the same. Design patterns... more
There is a hidden intrigue in the title. CT is one of the most abstract mathematical disciplines, some-times nicknamed ”abstract nonsense”. MDE is a recent trend in software development, industrially supported by standards, tools, and the... more
Technological importance of traceability mappings is wellknown. The paper argues that traceability mappings are also fundamental for semantics: we present a simple example showing that specifying (model-to-model) model transformations... more
A graphical formalized language is proposed for specifying systems of views over database schemas. The language is based on the notion of arrow (mapping) between data schemas and is suitable for any data model for which schema mappings... more
* Supported by Bell Canada through the Bell University Labs, NSERC and Ontario Centres Of Excellence markable duality between them. The results of the paper can then be seen as an (important yet) particular case of this general duality... more
Requirements engineering (RE) is an inherently piecemeal and dynamic process. Arrangement, correlation and integration of models presenting different views of the system are an important component of the requirements engineer's work. If... more