1,721,042 research outputs found

    Preface

    No full text

    Understanding bidirectional transformations with TGGs and JTL

    No full text
    In Model-Driven Engineering bidirectional model transformations emerged as an important ingredient to cope with scenarios such as change propagation, synchronization and to keep consistent system views whenever changes occurring on some view have to be propagated over the others. However, bidirectional mappings open a number of intricate issues that have been only partially solved by research. This paper identifies a set of features characterizing bidirectional transformations and validates them against two existing approaches. In particular, a scenario based on the UML2RDBMS transformation and consisting of two different configurations is implemented by means of two different approaches, such as Triple Graph Grammars and the Janus Transformation Language, for understanding bidirectional transformations with respect to the elicited features

    Enhancing the JTL tool for bidirectional transformations

    No full text
    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

    Studying users’ perception of IoT mobile companion apps

    No full text
    Internet of Things (IoT) products provide over-the-net capabilities such as remote activation, monitoring, and notifications. An associated mobile app is often provided for more convenient usage of these capabilities. The perceived quality of these companion apps can impact the success of the IoT product. We investigate the perceived quality and prominent issues of smart-home IoT mobile companion apps with the aim of deriving insights to: (i) provide guidance to end users interested in adopting IoT products; (ii) inform companion app developers and IoT producers about characteristics frequently criticized by users; (iii) highlight open research directions. We employ a mixed-methods approach, analyzing both quantitative and qualitative data. We assess the perceived quality of companion apps by quantitatively analyzing the star rating and the sentiment of 1,347,799 Android and 48,498 iOS user reviews. We identify the prominent issues that afflict companion apps by performing a qualitative manual analysis of 1,000 sampled reviews. Our analysis shows that users’ judgment has not improved over the years. A variety of functional and non-functional issues persist, such as difficulties in pairing with the device, software flakiness, poor user interfaces, and presence of issues of a socio-technical impact. Our study highlights several aspects of companion apps that require improvement in order to meet user expectations and identifies future directions

    From software architecture to analysis models and back: Model-driven refactoring aimed at availability improvement

    Full text link
    Context: With the ever-increasing evolution of software systems, their architecture is subject to frequent changes due to multiple reasons, such as new requirements. Appropriate architectural changes driven by non-functional requirements are particularly challenging to identify because they concern quantitative analyses that are usually carried out with specific languages and tools. A considerable number of approaches have been proposed in the last decades to derive non-functional analysis models from architectural ones. However, there is an evident lack of automation in the backward path that brings the analysis results back to the software architecture. Objective: In this paper, we propose a model-driven approach to support designers in improving the availability of their software systems through refactoring actions. Method: The proposed framework makes use of bidirectional model transformations to map UML models onto Generalized Stochastic Petri Nets (GSPN) analysis models and vice versa. In particular, after availability analysis, our approach enables the application of model refactoring, possibly based on well-known fault tolerance patterns, aimed at improving the availability of the architectural model. Results: We validated the effectiveness of our approach on an Environmental Control System. Our results show that the approach can generate: (i) an analyzable availability model from a software architecture description, and (ii) valid software architecture models back from availability models. Finally, our results highlight that the application of fault tolerance patterns significantly improves the availability in each considered scenario. Conclusion: The approach integrates bidirectional model transformation and fault tolerance techniques to support the availability-driven refactoring of architectural models. The results of our experiment showed the effectiveness of the approach in improving the software availability of the system

    Model transformations

    No full text
    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

    Approaching collaborative modeling as an uncertainty reduction process

    No full text
    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

    Managing uncertainty in bidirectional model transformations

    No full text
    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

    No full text
    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

    Availability-Driven Architectural Change Propagation Through Bidirectional Model Transformations between UML and Petri Net Models

    No full text
    Software architecture is nowadays subject to frequent changes due to multiple reasons, such as evolution induced by new requirements. Architectural changes driven by non-functional requirements are particularly difficult to identify, because they attain quantitative analyses that are usually carried out with specific languages and tools. A considerable number of approaches, based on model transformations, have been proposed in the last decades to derive non-functional models from software architectural descriptions. However, there is a clear lack of automation in the backward path that brings the analysis results back to the software architecture. In this paper we address this problem in the context of software availability. We introduce a bidirectional model transformation between UML State Machines (SM), annotated with availability properties, and Generalized Stochastic Petri Nets (GSPN). Such transformation, implemented in the JTL language, is used both to derive a GSPN-based availability model from a SM-based software architecture and, after the analysis, to propagate back on the SM the changes carried out on the GSPN. We demonstrate the effectiveness of our approach on an Environmental Control System to which we apply well-known fault tolerance patterns aimed at improving its software availability
    corecore