Mechanisms for Viewpoint Definition and View Extraction from Models of Legacy Artifacts M24

Description: 

In this document, we report on the components of the Model Understanding Tool Box (MUTB). It aims at facilitating the understanding of typically large, complex models discovered from existing applications. In the context of this work, model understanding is considered to be a goal-oriented task while the information base to support this task is dedicated to model discovery. The MUTB relies on four main techniques: (i) Tagging of Models, (ii) Querying of Models, (iii) Slicing of Models, and (iv) Views on Models. Tagging of models basically aims at refining models with supplementary information that in the context of this deliverable facilitates the understanding of models. Querying of models is used for searching and retrieving model elements, as well as to obtain the necessary knowledge, or answers to specific questions of a task, in the form of basic types. Slicing of models is inspired from the notion of a program slice, though with a particular emphasis on the modeling level rather than the programming level.

Finally, generating views on models enables to set the focus on certain parts of a model by providing a dedicated viewpoint. According to the four main techniques, we discuss the current components that constitute the MUTB. Regarding the tagging of models, we support producing platform-specific models (PSM) where the platform information is captured by the stereotypes applied to the PSMs. Furthermore, we introduce a component to produce platform-independent models (PIM) from platform-specific ones. We support generic query-based model exploration techniques and their implementations compatible with the baseline of Eclipse. For the purpose of slicing, we introduce a framework that deals with multiple viewpoints of UML. Finally, regarding views on models, we support the detection of structural components, their boundaries and relationships, and common technological pattern by using query-based model exploration techniques. Also, we aim to support visualizing the control flow in the large, i.e., between the complete set of UML diagrams currently used to represent applications.