Taxonomy of legacy artefacts
The ARTIST project is about proposing concrete solutions to the problem of migrating legacy software to Cloud environments. In this context, Reverse Engineering (RE), as the process of obtaining different relevant representations of the legacy system, is the first action to be performed in order to accomplish the actual migration. Promoted by the ARTIST approach, Model Driven Reverse Engineering (MDRE) is the application of Model Driven Engineering (MDE) techniques to the realization of RE. Thus, the produced representations of legacy systems are actually models, which conforms to different metamodels and have different levels of abstraction depending on the needs.
In order to get the required models, the key inputs are the very often numerous and heterogeneous legacy artefacts composing a given legacy software. Thus, it is fundamental to have a correct knowledge of the concerned (type of) legacy artefacts in terms of properties and characteristics. These different artefacts are consumed by so-called Model Discoverers (cf. D8.2.1 – “Components for Model Discovery”) producing the initial models out of them. Thus, having a global classification of the different kinds of legacy artefacts that can be encountered can be very helpful in the context of RE.
The present document is providing a general taxonomy for classifying legacy artefacts according to several complementary dimensions. The identified dimensions are currently the following:
- Technological Content – Technical Spaces
- Origin – Manual vs. Generated
- Purpose – Code vs. Documentation
- Consumer – System vs. End User
- Organization – Structured vs. Unstructured
- Nature – Static vs. Dynamic
- Size – Small vs. Large
- Opacity – White Box vs. Black Box
- Architectural Layer – Conceptual Content
- Environment – Supporting Tooling
This document is presenting in detail each one of these dimensions, notably explaining their meaning and relevance in a MDRE context. The taxonomy is also accompanied by a simple classification framework, based on an easy-to-fill template, thus allowing its application to a given legacy software. As real life illustrations, this taxonomy has already been used on the four different ARTIST use cases, thus already offering a solid panel of legacy systems in terms of heterogeneity.
The benefits brought by the use of such a taxonomy can vary depending on the targeted objective. For software architects, it can allow having a more accurate vision of the current state of their legacy system and thus facilitating its global (technical) understanding. For modernization engineers, it can provide a precious help in the process of identifying or selecting the most appropriate model discoverers in their particular context. For Model Discovery experts, it can give detailed indications guiding the model discoverer design and implementation. More generally, we also foresee other potential benefits in other areas (e.g., in the actual migration, to specialize transformations according to the nature of the software artefact; or in Forward Engineering, to study the target system of the migration).