Modeling; Abstraction; Model Quality; Software Engineering
Jeanneret Cédric (2013), Measuring Abstraction with Footprinting: Confronting Software Models with their Purposes
, University of Zurich, Zurich255-255.
Jeanneret Cédric, Glinz Martin, Baudry Benoit, Combemale Benoit (2012), Impact of Footprinting on Model Quality: An Experimental Evaluation, in 2nd International Workshop on Model-Driven Requirements Engineering (MoDRE 2012)
, Chicago, Illinois, USA77-86, IEEE, Los Alamitos, Ca.77-86.
Jeanneret Cédric, Glinz Martin, Baar Thomas (2012), Modeling the Purposes of Models, in Modellierung 2012
, Bamberg, GermanyGI, Bonn.
Jeanneret Cédric, Glinz Martin, Baudry Benoit (2011), Estimating Footprints of Model Operations, in 33rd International Conference on Software Engineering (ICSE 2011)
, Waikiki, Honoluli, Hawaii, USA601-610, ACM, New York601-610.
In Software Engineering, many kinds of models are used in various contexts and for various purposes, ranging from informal models sketched on a whiteboard to executable models deployed in a production environment. Among other qualities, a "good" model is at the right level of abstraction. Indeed, a model that is too abstract may lead to imprecise or incorrect conclusions while a model that is too detailed is larger and more complex than necessary. Today, modelers must rely on their instinct and experience to decide how much and which detail is worth being modeled. While a lot of research has been conducted about modeling, abstraction and model quality, the state of the art does not support modelers in evaluating whether their models are at the right level of abstraction for their purpose. Our project aims at providing modelers with an objective measurement of a model's abstractness and systematic guidance to attain the right level of abstraction. We intend to achieve this evaluation in two phases: First, we derive a usage profile from a modeling purpose. This usage profile can then be used to identify irrelevant details in a model or suggest details missing in it. The advantage of this separation is that once the usage profile has been derived, it can be used to assess and improve all models built for the purpose for which this profile was created. Thus, we set the following goals for this project: * Provide modelers with measurements and guidelines about the level of abstraction of their models with respect to their purpose * Develop a formalism for documenting modeling usage profiles, enabling the objective evaluation of relevance and completeness with respect to a given usage profile * Develop methods and tool support for the semi-automatic derivation of usage profiles from modeling purposes In the work described in this proposal, we assume that every modeling purpose can be made operational with a set of formally defined questions and/or model operations, such as model queries, view extractions and model transformations. This set of operations formally specifies the modeling purpose and can therefore be used to compute a usage profile from it. Conceptually, such usage profiles encode the kind of information needed by model users to fulfill their purposes. Once a usage profile has been created, it becomes possible to evaluate whether a model is at the right level of abstraction for its purpose and, if it is not, to suggest directions for improvement. To study the feasibility of this project, we have developed a technique called "footprinting", which identifies the set of elements in a model used by a set of operations. Preliminary results are promising, so we are confident that the research goals described in this proposal are feasible.