1,721,048 research outputs found
On the Algebraic Specification of Classes and Inheritance in OOP
Texts and Monographs in Symbolic Computatio
Towards a taxonomy for bidirectional transformation
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, current languages still lack of a common understanding of their semantic implications hampering their applicability in practice. This paper illustrates a set of relevant properties pertaining to bidirectional model transformations. It is a first step towards a taxonomy that can help developers to decide which bidirectional language or tool is best suited to their task at hand. This study is based on the existing literature and characteristics of existing approaches
Approaching collaborative modeling as an uncertainty reduction process
Model-Driven Engineering (MDE) technologies aim to support the growing complexity of software systems. Models are increasingly becoming large and unmanageable, and hence difficult to be understood by humans and processed by machines. As a consequence, multi-user environments are necessary to enable designers to create and refine large models in a collaborative manner enabling the engineering, modularization and reuse. In this paper, we propose a model-driven approach to represent, manage and manipulate models edited in a collaborative manner. In particular, we propose to represent the solutions space (i.e, model versions) in an intensional manner by adopting a model with uncertainty. We define a plan to manage the uncertainty by selecting the desired design, to manipulate their collaborative models in manually or automatic way, and to exploit a collaborative environment for real time multi-user editing. The approach is showed by means of a motivating example that involves business models demonstrating the advantages of the proposed approach
Approaching collaborative modeling as an uncertainty reduction process
Model-Driven Engineering (MDE) technologies aim to support the growing complexity of software systems. Models are increasingly becoming large and unmanageable, and hence difficult to be understood by humans and processed by machines. As a consequence, multi-user environments are necessary to enable designers to create and refine large models in a collaborative manner enabling the engineering, modularization and reuse. In this paper, we propose a model-driven approach to represent, manage and manipulate models edited in a collaborative manner. In particular, we propose to represent the solutions space (i.e, model versions) in an intensional manner by adopting a model with uncertainty. We define a plan to manage the uncertainty by selecting the desired design, to manipulate their collaborative models in manually or automatic way, and to exploit a collaborative environment for real time multi-user editing. The approach is showed by means of a motivating example that involves business models demonstrating the advantages of the proposed approach
Model transformations
In recent years, Model-Driven Engineering has taken a leading role in advancing a new paradigm shift in software development. Leveraging models to a first-class status is at the core of this methodology. Shifting the focus of software development from coding to modeling permits programs to transform models in order to generate other models which are amenable for a wide range of purposes, including code generation. This paper introduces a classification of model transformation approaches and languages, illustrating the characteristics of the most prominent ones. Moreover, two specific application scenarios are proposed to highlight bidirectionality and higher-order transformations in the change propagation and coupled evolution domains, respectively. © 2012 Springer-Verlag
Managing uncertainty in bidirectional model transformations
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 admibible models. This can be regarded as an uncertainty reducing proceb: the unknown uncertainty at design-Time is translated into known uncertainty at run-Time by generating multiple choices. Unfortunately, little changes in a model usually correspond to a combinatorial explosion of the solution space. In this paper, we propose to represent the multiple solutions in a intensional manner by adopting a model for uncertainty. The technique is applied to JTL demonstrating the advantages of the proposal
Improved traceability for bidirectional model transformations
Conventional wisdom on bidirectionality in Model-Driven Engineering (MDE) suggests that it represents a crucial component to achieve superior model management, whether it be round-tripping, synchronisation, or consistency restoration. Despite their relevance, bidirectional transformations remain difficult to design and implement due to the complexity they must usually encode and their semantic intricacy. Using a proper traceability support enables transformations to be persistent and permits designers to deal with such cases that would be otherwise largely unfeasible. This also implies dealing with the different types of model relationships that may exist in order to establish (re)usable traceability links. This paper proposes to leverage traceability information between source and target elements of a transformation to a first-class status in order to i) automa-tise its generation, ii) enable a model-based representation and iii) ease reuse and refinement in a further stage. The approach is realized within the JTL framework
Enhancing the JTL tool for bidirectional transformations
In Model-Driven Engineering, the potential advantages of using bidirectional transformations in various scenarios are largely recognized; as for instance, assuring the overall consistency of a set of interrelated models which requires the capability of propagating changes back and forth the transformation chain. Among the existing approaches, JTL (Janus Transformation Language) is a constraint-based bidirectional transformation language specifically tailored to support change propagation and nondeterministic transformations. In fact, its relational and constraintbased semantics allows to restore consistency by returning all admissible models. This paper introduces the new implementation of the language and presents the tools and its features by means of a running example
Representing uncertainty in bidirectional transformations
In Model-Driven Engineering, the potential advantages of using bidirectional transformations are largely recognized. The non-deterministic nature of bidirectionality represents a key aspect: i.e, consistently propagating changes from one side to the other is typically non univocal and more than one correct solutions are admitted. In this paper, the problem of uncertainty in bidirectional transformations is discussed. In particular, we illustrate how represent a family of cohesive models, generated as output of a bidirectional transformation, by means of models with uncertainty
- …
