655 research outputs found
Novel Techniques For Model-Code Synchronization
The orientation of the current software development practice requires efficient model-based iterative solutions. The high costs of maintenance and evolution during the life cycle of the software can be reduced by using tool-aided iterative development. This paper presents how model-based iterative software development can be supported through efficient model-code change propagation. The presented approach facilitates bi-directional synchronization between the modified source code and the refined initial models. The backgrounds of the synchronization technique are three-way abstract syntax tree (AST) differencing and merging. The AST-based solution enables syntactically correct merge operations. OMG's Model-Driven Architecture describes a proposal for platform-specific model creation and source code generation. We extend this vision with the synchronization feature to assist the iterative development. Furthermore, a case study is also provided
Mining domain-specific edit operations from model repositories with applications to semantic lifting of model differences and change profiling
Model transformations are central to model-driven software development. Applications of model transformations include creating models, handling model co-evolution, model merging, and understanding model evolution. In the past, various (semi-)
automatic approaches to derive model transformations from meta-models or from
examples have been proposed. These approaches require time-consuming handcrafting or the recording of concrete examples, or they are unable to derive complex
transformations. We propose a novel unsupervised approach, called Ockham, which
is able to learn edit operations from model histories in model repositories. Ockham
is based on the idea that meaningful domain-specifc edit operations are the ones
that compress the model diferences. It employs frequent subgraph mining to discover frequent structures in model diference graphs. We evaluate our approach in
two controlled experiments and one real-world case study of a large-scale industrial
model-driven architecture project in the railway domain. We found that our approach
is able to discover frequent edit operations that have actually been applied before.
Furthermore, Ockham is able to extract edit operations that are meaningful—in the
sense of explaining model diferences through the edit operations they comprise—to
practitioners in an industrial setting. We also discuss use cases (i.e., semantic lifting of model diferences and change profles) for the discovered edit operations in
this industrial setting. We fnd that the edit operations discovered by Ockham can be
used to better understand and simulate the evolution of models
Enabling collaborative modelling for a multi-site model-driven software development approach for electronic control units.
An important aspect of support for distributed work is to enable users at different sites to work collaboratively, across different sites, even different countries but where they may be working on the same artefacts. Where the case is the design of software systems, design models need to be accessible by more than one modeller at a time allowing them to work independently from each other in what can be called a collaborative modelling process supporting parallel evolution. In addition, as such design is a largely creative process users are free to create layouts which appear to better depict their understanding of certain model elements presented in a diagram. That is, that the layout of the model brings meaning which exceed the simple structural or topological connections. However, tools for merging such models tend to do so from a purely structural perspective, thus losing an important aspect of the meaning which was intended to be conveyed by the modeller. This thesis presents a novel approach to model merging which allows the preservation of such layout meaning when merging. It first presents evidence from an industrial study which demonstrates how modellers use layout to convey meanings. An important finding of the study is that diagram layout conveys domain-specific meaning and is important for modellers. This thesis therefore demonstrates the importance of diagram layout in model-based software engineering. It then introduces an approach to merging which allows for the preservation of domain-specific meaning in diagrams of models, and finally describes a prototype tool and core aspects of its implementation
- …