Inventory of common general-purpose artefacts M24


Model-Driven Engineering (MDE) artefacts, namely meta-models, UML profiles, M2M transformations or M2T transformations are potentially highly reusable. They can be applied in many different domains to support the MDE-driven modernization or migration of different applications that show similar characteristics. Their potential reusability will depend on how generic or specific the MDE artefacts are or their capabilities for extensibility.

Most of the ARTIST MDE-based tools require reusable MDE artefacts to be operative. As an example, models obtained by model discovery and understanding tools will require specific profiles to further characterize the software entities they represent or M2M transformations to obtain several views addressing multiple concerns at different levels of abstraction. Similarly, modernization tools will require “cloudification” and optimization patterns expressed as M2M transformations, but also additional profiles. Although some generic MDE artefacts will be packaged within these tools, not all the domain-specific MDE artefacts required to instantiate the ARTIST use cases will be provided within those packages but through a provision of them available in the ARTIST Repository. This provision of domain-specific (but also some generic) MDE artefacts into the ARTIST repository is managed by T10.4 and reported in this document.

The purpose of this document is to conduct a survey on the State of the Art (SOTA) analysis of the MDE artefacts relevant for the ARTIST project, to identify and collect common general-purpose artefacts created in the context of ARTIST and provide a detailed description for each artefact as well as their installation and usage details.

The document starts defining the concept of reusable general-purpose artefact in MDE, what the potential of reuse for these artefacts is and how they can be reused. MDE artefacts are by nature highly reusable within a family of existing applications that are compliant to common technologies or frameworks. For example, a set of profiles describing J2EE and their common development frameworks can be used for the model abstraction of multiple J2EE applications, enabling the tagging of J2EE elements on the model. Similarly, specialization of “cloudification” patterns for concrete technologies (.NET, J2EE) from generic ones can be applied on the migration of concrete application aspects (i.e. persistence, performance, security, etc.).

The provisioning of reusable MDE artefacts initially requires an elicitation of end-user needs, in order to identify those artefacts more demanded for a wider range of users. For practical reasons, we consider to restrict this elicitation to the requirements identified within the ARTIST use cases, assuming they are representative enough of a wider range of use cases covering the migration to Cloud of diverse non-Cloud compliant applications. Thus, we can assume these required artefacts can constitute an initial set for populating the ARTIST repository, aiming at boosting the adoption of ARTIST methodology and tools.

This provisioning should also consider the current SOTA by conducting a survey analysis on available and reusable MDE artefacts in order to reuse or extend them, alleviating the cost of producing new artefacts from scratch. This survey not only identifies general-purpose reusable artefacts but also other attempts to provision repositories of MDE artefacts, focusing on the content (and not on the repository features). In our survey, we have identified two main MDE repositories and dozens of artefacts, some of interest for ARTIST use cases, some very generic (i.e. general-purpose UML profiles), and some quite academic or very specific for concrete usages not required in the ARTIST use cases. Excepting few cases, most of these found artefacts have not been reused in the implementation of the ARTIST use cases yet, but their potential is not negligible (i.e. IFML, SOAML, SysML, etc.). Possible usages and extensions for these concrete existing artefacts are discussed in the text as well.

The remaining of the document collects and describes reusable domain or platform-specific MDE artefacts that have been specifically implemented to fulfil the needs of the ARTIST use cases, because no alternative existing artefacts have been produced. These artefacts have been used in different phases of the ARTIST migration processes together with some ARTIST tools. In some cases, these artefacts are integrated within (and used by) other more generic artefacts shipped within the tools that were implemented in WP5-WP9. The domain-specific artefacts described in this document are intended to personalize these generic tools to the concrete domains and platforms required in the use cases. For instance, a component model generator included in the Model Understanding Toolbox (MUT) can use platform-specific profiles (RCP, J2EE) to obtain RCP and J2EE component models.

A number of artefacts of different types have been collected in this document, mostly platform-specific UML profiles and M2M transformations and libraries. M2T transformations have been produced as well, but considering that they are quite specific for code generation, they have mostly been reported in [27]. For every artefact, we discuss its domain of applicability and reusability (alone or composed with other artefacts).

The current set of provisioned ARTIST MDE artefacts is still incomplete and their proper linkage to other existing MDE standardized artefacts unstudied. Hence, further analysis and developments are required in other to provision an initial population of the ARTIST repository that boost a wider adoption of the ARTIST methodology and tooling support. This work will continue until M30, when a new bundle of the ARTIST reusable artefacts will be released.