Repository logo
 

Union Models: Support of Variability Modeling and Efficient Reasoning About Model Families Over Space and Time

Loading...
Thumbnail Image

Date

2020-02-18

Journal Title

Journal ISSN

Volume Title

Publisher

Université d'Ottawa / University of Ottawa

Abstract

In Model-Driven Engineering (MDE), models change continuously due, for instance, to new requirements or refined understanding about the domain, resulting in what we call model families. For a given modeling language, a model family is a set of related models, with commonalities and variabilities between individual models. Mode families stem from the evolution of models into several versions over time and/or the variation of models over the space dimension. In contexts where there are several versions/variations of a model, analyzing individual models, one model at a time, becomes cumbersome and inefficient, especially when many models share several elements in common (i.e., redundancy). In addition, other kinds of analyses that rely on temporal or spatial information (e.g., trend analysis over time) become complex using individual models, separately. This thesis proposes union models as first-class generic artifacts to: 1) support the representation of model families (for time and space dimensions) using one generic model; 2) achieve performance gains during analysis of family models all at once, compared to the analysis of individual models, one model at a time; and 3) support types of analyses that are more easily feasible with union models compared with individual models. The use of union models is challenging and non-trivial. At the model level, the challenges stem mainly from the following requirements: (Req.1) Models in a family shall be captured (in both dimensions of variability) in a complete and exact way such that all and only individual members of a family are included in one model. (Req.2) The resulting union model shall be as compact as possible, in the sense that it should not contain redundant elements, especially when there are many elements in common between models. (Req.3) The union model shall be self-explanatory, i.e., it should be supported with a mechanism that distinguishes which elements belong to which models. There are also other challenges at the metamodel level associated with the use of union models. In particular, a union model may not be a valid instance of the language’s metamodel, and the latter might need to have its constraints relaxed accordingly. We demonstrate, empirically, the usefulness of union models for analyzing a family of models, all at once, compared to individual models, one model at a time. The contributions of the thesis are: Major: (1) a language-independent, graph-based formalization of model families and union models, (2) a generic, language-independent algorithm to produce a union model from a set of models (in a compact and exact manner) in a given language (to satisfy Req1. and Req.2), (3) a spatio-temporal annotation language (STAL) to support the representation of variability in model families in the space and time dimensions, and to facilitate reasoning about union models (to satisfy Req.3), (4) improved efficiency of analysis and reasoning over a set of models, all at once using union models, compared to reasoning on single models, one model at a time, and (5) examples of analysis techniques adapted to support efficient reasoning about model families. Minor: this thesis also addresses the metamodel-level challenges associated with union models. In particular, it contributes a characterization of the requirements for minimally relaxing modeling languages to support all potential union models of a language. The thesis proposes two methods (Evi-MeReFam and Anti-MeReFam) to infer/anticipate relaxation points, (i.e., locations where metamodel relaxations are needed) so that existing tools and analysis techniques would be adapted once per language.

Description

Keywords

Model-driven engineering, Variability, Model, Model Family, Union model, Analysis

Citation