Methodology and Environment for evaluating migration success M30


When migrating an existing application into the cloud, an important and challenging task is to evaluate whether the goals of the migration are fulfilled. In this regard, we can distinguish between two types of goals in a software migration scenario: functional and nonfunctional goals. Whereas the former concerns the preservation of the business functionality in the context of software migration, that is, the software behaves after the migration just as it did before the migration, the latter assesses whether the initial motivation of the migration, such as performance efficiency and reliability of the migrated software, is satisfied.

In this document, we introduce the prototypes that have been developed to support the definition and evaluation of non-functional goals at model-level as well as the iterative process that guides the optimization process. Please note, that prototypes for functional goals, i.e., the behavioral equivalence between original and migrated application, are described in deliverable D11.1 – Methodology and techniques for deriving test cases and D11.2 – Methodology and architecture for end-user based testing.

Summarized, non-functional goals have to be defined by the user in terms of software properties that need to be improved through the migration in order for the migration to be considered successful. For expressing and representing such goals, we have previously discussed different goal modeling languages (deliverable D11.3.1) while in this document we present our own goal modeling language and set the goal model as the central artifact of the migration evaluation.

The contributions of this work and the accompanying prototype support the following four migration tasks: (i) First, we provide a set of languages that define a standardized format for all artifacts related to the migration evaluation and enables the user to express the migration goals in a concise way. (ii) Based on the user-defined goals, different strategies are leveraged to evaluate the software properties of interest. For example, different performance properties are evaluated utilizing a model simulation technique based on the executable Foundational UML (fUML) standard. (iii) The aggregated distance between the evaluated properties and the goal values defined by the user is used as an indicator for the overall migration success. To minimize this distance, established optimization patterns are configured and applied on the software (models) in terms of model transformations to optimize the necessary software properties during the forward engineering phase. In order to find a good sequence of orchestrated transformations we deploy multi-objective search-based optimization algorithms that can deal with the possibly infinite search space of transformation sequences. (iv) We use optimized software application and the measurements
taken by the evaluation strategies to evaluate each goal in the goal model and thus the overall migration success. 

All prototype(s) connected to this work have been developed in Java and can be used within the Eclipse environment.