Learn More
Software development is witnessing the increasing need of version management techniques for supporting the evolution of model-based artefacts. In this respect, metamod-els 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)
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)
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)
Viewpoint modeling has demonstrated to be an effective approach for specifying complex software systems by means of a set of independent viewpoints and correspondences between them. During its life cycle, a software system continuously evolves, as well as its specification changes to meet new requirements or to adapt to business changes. As a consequence,(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)
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)
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)
In Model-Driven Engineering bidirectionality in transformations is regarded as a key mechanism. Recent approaches to non-deterministic transformations have been proposed for dealing with non-bijectivity. Among them, the JTL language is based on a relational model transformation engine which restores consistency by returning all admissible models. This can(More)