FATBIT Workshop, Braga, October 3, 2013

Participants

Program

9h30 Alcino Cunha: Overview of the FATBIT project (Sala Reuniões)
9h45 Nuno Macedo, Tiago Guimarães: Model repair and transformation with Echo
Models are paramount in model-driven engineering. In a software project many models may coexist, capturing different views of the system or different levels of abstraction. A key and arduous task in this development method is to keep all such models consistent, both with their meta-models (and the respective constraints) and among themselves. This presentation will present and demo Echo, a tool that aims at simplifying this task by automating inconsistency detection and repair using a solver based engine. Consistency between different models can be specified by bidirectional model transformations, and is guaranteed to be recovered by minimal updates on the inconsistent models. The tool is freely available as an Eclipse plugin, developed on top of the popular EMF framework, and supports constraints and transformations specified in the OMG standard languages OCL and QVT-R, respectively.
10h15 Alcino Cunha: Target oriented relational model finding (Sala Reuniões)
Model finders are becoming useful in many software engineering problems. Kodkod is one of the most popular, due to its support for relational logic (a combination of first order logic with relational algebra operators and transitive closure), allowing a simpler specification of constraints, and support for partial instances, allowing the specification of a priori (exact, but potentially partial) knowledge about a problem's solution. However, in some software engineering problems, such as model repair or bidirectional model transformation, knowledge about the solution is not exact, but instead require the specification of a known target that the solution should approximate. In this paper we extend Kodkod' partial instances to allow the specification of such targets, and show how its model finding procedure can be adapted to support them (using both MaxSAT solvers or SAT solvers with cardinality constraints). Two case studies are also presented, including a careful performance evaluation to access the viability of the proposed extension.
10h45 Coffee break
11h00 Nuno Macedo, Nuno Souza: Bidirectional Spreadsheet Formulas (Sala Reuniões)
Bidirectional transformations have application in a wide number of computer science domains. Spreadsheets, on the other hand, are widely used for developing business applications, but their formulas are unidirectional, in the sense that their result can not be edited and propagated back to their input cells. In this paper, we propose the bidirectionalization of such formulas, by recasting them as lenses, a successful bidirectional transformation framework with instantiations in various data domains relevant for this endeavor.
11h30 Rui Pereira: QuerySheet: A Bidirectional Query Environment for Model-Driven Spreadsheets (Sala Reuniões)
11h45 Nuno Souza: Bidirectional Distributed Data Aggregation (Sala Reuniões)
12h00 Lunch
14h00 Zhenjiang Hu: An Introduction to Bidirectional Model Transformation with GRoundTram (DI 1.08)
Bidirectional model transformation is useful for maintaining consistency between two models, and has many potential applications in software development including model synchronization, round-trip engineering, and software evolution. Despite these attractive uses, the lack of a practical tool support for systematic development of well-behaved and efficient bidirectional model transformation prevents it from being widely used. In this tutorial talk, I would like to show how this problem can be resolved with an integrated framework called GRoundTram, which is carefully designed and implemented for compositional development of well-behaved and efficient bidirectional model transformations. GRoundTram is built upon a well-founded bidirectional framework, and is equipped with a user-friendly language for coding bidirectional model transformation, a new tool for validating both models and bidirectional model transformations, an optimization mechanism for improving efficiency, and a powerful debugging environment for testing bidirectional behavior. GRoundTram has been used by people of other groups and their results show its usefulness in practice.
15h30 Coffee break
16h00 Nuno Macedo: Bidirectionalizing ATL within Echo (Sala Reuniões)
16h15 Tiago Jorge: Comparing Bidirectional Transformation Tools with Examples (Sala Reuniões)
16h30 Discussion (Sala Reuniões)