13 research outputs found
Search-Based Model Transformations with MOMoT
Many scenarios require flexible model transformations as
their execution should of course produce models with the best possible
quality. At the same time, transformation problems often span a very
large search space with respect to possible transformation results. Thus,
guidance for transformation executions to find good solutions without
enumerating the complete search space is a must.
This paper presents MOMoT, a tool combining the power of model
transformation engines and meta-heuristics search algorithms. This
allows to develop model transformation rules as known from existing
approaches, but for guiding their execution, the transformation engineers
only have to specify transformation goals, and then the search
algorithms take care of orchestrating the set of transformation rules to
find models best fulfilling the stated, potentially conflicting transformation
goals. For this, MOMoT allows to use a variety of different search
algorithms. MOMoT is available as an open-source Eclipse plug-in providing
a non-intrusive integration of the Henshin graph transformation
framework and the MOEA search algorithm framework
A local and global tour on MOMoT
Many model transformation scenarios require flexible execution strategies as they should produce models with the highest
possible quality. At the same time, transformation problems often span a very large search space with respect to possible
transformation results. Recently, different proposals for finding good transformation results without enumerating the
complete search space have been proposed by using meta-heuristic search algorithms. However, determining the impact of
the different kinds of search algorithms, such as local search or global search, on the transformation results is still an open
research topic. In this paper, we present an extension to MOMoT, which is a search-based model transformation tool, for
supporting not only global searchers for model transformation orchestrations, but also local ones. This leads to a model
transformation framework that allows as the first of its kind multi-objective local and global search. By this, the advantages
and disadvantages of global and local search for model transformation orchestration can be evaluated. This is done in a
case-study-based evaluation, which compares different performance aspects of the local- and global-search algorithms
available in MOMoT. Several interesting conclusions have been drawn from the evaluation: (1) local-search algorithms
perform reasonable well with respect to both the search exploration and the execution time for small input models, (2) for
bigger input models, their execution time can be similar to those of global-search algorithms, but global-search algorithms
tend to outperform local-search algorithms in terms of search exploration, (3) evolutionary algorithms show limitations in
situations where single changes of the solution can have a significant impact on the solution鈥檚 fitness.Ministerio de Economia y Competitividad TIN2015-70560-RJunta de Andaluc铆a P12-TIC-186
Search鈥恇ased model transformations
Model transformations are an important cornerstone of model鈥恉riven engineering, a discipline which facilitates the abstraction of relevant information of a system as models. The success of the final system mainly depends on the optimization of these models through model transformations. Currently, the application of transformations is realized either by following the apply鈥恆s鈥恖ong鈥恆s鈥恜ossible strategy or by the provision of explicit rule orchestrations. This implies two main limitations. First, the optimization objectives are implicitly hidden in the transformation rules and their orchestration. Second, manually finding the best orchestration for a particular scenario is a major challenge due to the high number of possible combinations.
To overcome these limitations, we present a novel framework that builds on the non鈥恑ntrusive integration of optimization and model transformation technologies. In particular, we formulate the transformation orchestration task as an optimization problem, which allows for the efficient exploration of the transformation space and explication of the transformation objectives. Our generic framework provides several search algorithms and guides the user in providing a proper search configuration. We present different instantiations of our framework to demonstrate its feasibility, applicability, and benefits using several case studiesEuropean Commission ICT Policy Support Programme 317859Ministerio de Economia y Competitividad TIN2015-70560-RJunta de Andaluc铆a P10-TIC-5960Junta de Andaluc铆a P12-TIC-186
Model-Driven Optimization with a Focus on the Effectiveness and Efficiency of Evolutionary Algorithms
Optimization problems are ubiquitous in software engineering. They arise, for example, when searching for a modular software design or planning a cost-efficient development process. Search-based software engineering (SBSE) is concerned with solving optimization problems by applying search-based algorithms. Among the most popular are evolutionary algorithms, which are the focus of this thesis. Following the example of natural evolution, they use selection, mutation, and crossover operators to evolve existing solutions.
In the hope of enabling the use of SBSE without optimization expertise, model-driven optimization (MDO) relies on model-driven engineering (MDE); models and model transformations are used to specify optimization problems and solution algorithms. Two ways of representing solutions, the model-based approach (MB-MDO) and the rule-based approach, have established. However, the implications of choosing one over the other are not clear. Therefore, we compare both approaches qualitatively and quantitatively and pursue MB-MDO as the more promising approach in the rest of the thesis.
How to design efficient and effective evolutionary algorithms is a central question in MB-MDO. Moreover, how to perform crossover there is not yet known. We first present a framework that highlights and explains the core concepts of evolutionary algorithms in MB-MDO and formalizes them based on graph transformation theory. It not only contributes to the understanding of evolutionary algorithms in MB-MDO, but in particular facilitates their precise specification, analysis, and evaluation. The framework is used to define important properties of mutation operators and to evaluate their impact on the efficiency and effectiveness of evolutionary algorithms. Furthermore, a general, graph-based approach for the construction of crossover operators in MB-MDO is presented. The general approach is also concretized for the Eclipse Modeling Framework (EMF). Finally, an evaluation of a prototypical implementation shows the relevance of crossover operators for evolutionary algorithms in MB-MDO
Model Transformation Modularization as a Many-Objective Optimization Problem
Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs
and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model
transformations as it can significantly improve their evolution, comprehensibility, maintainability, reusability, and thus, their overall
quality. Although language support for modularization of model transformations is emerging, model transformations are created as
monolithic artifacts containing a huge number of rules. To the best of our knowledge, the problem of automatically modularizing model
transformation programs was not addressed before in the current literature. These programs written in transformation languages, such
as ATL, are implemented as one main module including a huge number of rules. To tackle this problem and improve the quality and
maintainability of model transformation programs, we propose an automated search-based approach to modularize model
transformations based on higher-order transformations. Their application and execution is guided by our search framework which
combines an in-place transformation engine and a search-based algorithm framework. We demonstrate the feasibility of our approach
by using ATL as concrete transformation language and NSGA-III as search algorithm to find a trade-off between different well-known
conflicting design metrics for the fitness functions to evaluate the generated modularized solutions. To validate our approach, we apply
it to a comprehensive dataset of model transformations. As the study shows, ATL transformations can be modularized automatically,
efficiently, and effectively by our approach. We found that, on average, the majority of recommended modules, for all the ATL programs,
by NSGA-III are considered correct with more than 84% of precision and 86% of recall when compared to manual solutions provided
by active developers. The statistical analysis of our experiments over several runs shows that NSGA-III performed significantly better
than multi-objective algorithms and random search. We were not able to compare with existing model transformations modularization
approaches since our study is the first to address this problem. The software developers considered in our experiments confirm the
relevance of the recommended modularization solutions for several maintenance activities based on different scenarios and interviews.Comisi贸n Interministerial de Ciencia y Tecnolog铆a TIN2015-70560-RJunta de Andaluc铆a P12-TIC-186
Search-Based Information Systems Migration: Case Studies on Refactoring Model Transformations
Information systems are built to last for decades; however, the reality suggests otherwise. Companies are often pushed to modernize their systems to reduce costs, meet new policies, improve the security, or to be more competitive. Model-driven engineering (MDE) approaches are used in several successful projects to migrate systems. MDE raises the level of abstraction for complex systems by relying on models as first-class entities. These models are maintained and transformed using model transformations (MT), which are expressed by means of transformation rules to transform models from source to target meta-models. The migration process for information systems may take years for large systems. Thus, many changes are going to be introduced to the transformations to reflect the new business requirements, fix bugs, or to meet the updated metamodels. Therefore, the quality of MT should be continually checked and improved during the evolution process to avoid future technical debts. Most MT programs are written as one large module due to the lack of refactoring/modularization and regression testing tools support. In object-oriented systems, composition and modularization are used to tackle the issues of maintainability and testability. Moreover, refactoring is used to improve the non-functional attributes of the software, making it easier and faster for developers to work and manipulate the code. Thus, we proposed an intelligent computational search approach to automatically modularize MT. Furthermore, we took inspiration from a well-defined quality assessment model for object-oriented design to propose a quality assessment model for MT in particular. The results showed a 45% improvement in the developer鈥檚 speed to detect or fix bugs, and developers made 40% less errors when performing a task with the optimized version. Since refactoring operations changes the transformation, it is important to apply regression testing to check their correctness and robustness. Thus, we proposed a multi-objective test case selection technique to find the best trade-off between coverage and computational cost. Results showed a drastic speed-up of the testing process while still showing a good testing performance. The survey with practitioners highlighted the need of such maintenance and evolution framework to improve the quality and efficiency of the existing migration process.Ph.D.College of Engineering & Computer ScienceUniversity of Michigan-Dearbornhttp://deepblue.lib.umich.edu/bitstream/2027.42/149153/1/Bader Alkhazi Final Dissertation.pdfDescription of Bader Alkhazi Final Dissertation.pdf : Restricted to UM users only
Fundamental Approaches to Software Engineering
computer software maintenance; computer software selection and evaluation; formal logic; formal methods; formal specification; programming languages; semantics; software engineering; specifications; verificatio
Fundamental Approaches to Software Engineering
This open access book constitutes the proceedings of the 23rd International Conference on Fundamental Approaches to Software Engineering, FASE 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 23 full papers, 1 tool paper and 6 testing competition papers presented in this volume were carefully reviewed and selected from 81 submissions. The papers cover topics such as requirements engineering, software architectures, specification, software quality, validation, verification of functional and non-functional properties, model-driven development and model transformation, software processes, security and software evolution