Learn More
Software development is witnessing the increasing need of version management techniques for supporting the evolution of model-based artefacts. In this respect, metamodels can be considered one of the basic concepts of model-driven engineering and are expected to evolve during their life-cycle. As a consequence, models conforming to changed metamodels have(More)
In Model Driven Engineering bidirectional transformations are considered a core ingredient for managing both the consistency and synchronization of two or more related models. However, while non-bijectivity in bidirectional transformations is considered relevant, current languages still lack of a common understanding of its semantic implications hampering(More)
Performance antipatterns have been informally defined and characterized as bad practices in software design that can originate performance problems. Such special type of patterns can involve static and dynamic aspects of software as well as deployment features. It has been shown that quite often the inability to meet performance requirements is due to the(More)
As it is widely recognized, a universal notation accepted by any software architect cannot exist. This caused a proliferation of architecture description languages (ADLs) each focussing on a specific application domain, analysis type, or modelling environment, and with its own specific notations and tools. Therefore, the production of a software(More)
—Software development is witnessing the increasing need of version management techniques for supporting the evolution of model-based artefacts. In this respect, meta-models can be considered one of the basic concepts of Model-Driven Engineering and are expected to evolve during their life-cycle. As a consequence, models conforming to changed meta-models(More)
Viewpoint modeling is an effective technique for specifying complex software systems in terms of a set of independent viewpoints and correspondences between them. Each viewpoint focuses on a particular aspect of the system, abstracting away from the rest of the concerns. Correspondences specify the relationships between the elements in different views,(More)
The problem of interpreting results of performance analysis and providing feedback on software models to overcome performance flaws is probably the most critical open issue in the field of software performance engineering. Automation in this step would help to introduce performance validation as an integrated activity in the software lifecycle, without(More)
A number of model transformation approaches have been proposed both from academia and industry since automated manipulation of models plays a central role in model driven development. Ideally, a model transformation technique should also be compatible with manual changes that might be performed by designers on the generated models in order to resolve(More)
In Model-Driven Engineering, models are primary artifact manipulated by means of automated transformations. Recently, a notion of uncertainty has been introduced in models permitting modelers to postpone design decisions in case of lack of information. Interestingly, other forms of model uncertainty are induced by bidirectional transformations. In fact, in(More)
To manage the complex engineering information for real-time systems, the system under development may be modelled in a high-level architecture description language. This high-level information provides a basis for deployment space exploration as it can be used to generate a low-level implementation. During this deployment mapping many platform-dependent(More)