Juan de Lara
Autonomous University of Madrid
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Juan de Lara.
fundamental approaches to software engineering | 2002
Juan de Lara; Hans Vangheluwe
This article introduces the combined use of multiformalism modelling and meta-modelling to facilitate computer assisted modelling of complex systems. The approach allows one to model different parts of a system using different formalisms. Models can be automatically converted between formalisms thanks to information found in a Formalism Transformation Graph (FTG), proposed by the authors. To aid in the automatic generation of multi-formalism modelling tools, formalisms are modelled in their own right (at a meta-level) within an appropriate formalism. This has been implemented in the interactive tool AToM3. This tool is used to describe formalisms commonly used in the simulation of dynamical systems, as well as to generate custom tools to process (create, edit, transform, simulate, optimise, ...) models expressed in the corresponding formalism. AToM3 relies on graph rewriting techniques and graph grammars to perform the transformations between formalisms as well as for other tasks, such as code generation and operational semantics specification.
Journal of Systems and Software | 2010
Jordi Cabot; Robert Clarisó; Esther Guerra; Juan de Lara
In this paper we propose a method to derive OCL invariants from declarative model-to-model transformations in order to enable their verification and analysis. For this purpose we have defined a number of invariant-based verification properties which provide increasing degrees of confidence about transformation correctness, such as whether a rule (or the whole transformation) is satisfiable by some model, executable or total. We also provide some heuristics for generating meaningful scenarios that can be used to semi-automatically validate the transformations. As a proof of concept, the method is instantiated for two prominent model-to-model transformation languages: Triple Graph Grammars and QVT.
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns | 2010
Juan de Lara; Esther Guerra
Meta-modelling is at the core of Model-Driven Engineering, where it is used for language engineering and domain modelling. The OMGs Meta-Object Facility is the standard framework for building and instantiating meta-models. However, in the last few years, several researchers have identified limitations and rigidities in such a scheme, most notably concerning the consideration of only two meta-modelling levels at the same time. In this paper we present METADEPTH, a novel framework that supports a dual linguistic/ontological instantiation and permits building systems with an arbitrary number of meta-levels through deep metamodelling. The framework implements advanced modelling concepts allowing the specification and evaluation of derived attributes and constraints across multiple meta-levels, linguistic extensions of ontological instance models, transactions, and hosting different constraint and action languages.
Software and Systems Modeling | 2004
Juan de Lara; Hans Vangheluwe; Manuel Alfonseca
This paper presents the combined use of meta-modelling and graph grammars for the generation of visual modelling tools for simulation formalisms. In meta-modelling, formalisms are described at a meta-level. This information is used by a meta-model processor to generate modelling tools for the described formalisms. We combine meta-modelling with graph grammars to extend the model manipulation capabilities of the generated modelling tools: edit, simulate, transform into another formalism, optimize and generate code. We store all (meta-)models as graphs, and thus, express model manipulations as graph grammars.We present the design and implementation of these concepts in AToM3 (A_To_ol for M_ulti-formalism, M_eta-M_odelling). AToM3 supports modelling of complex systems using different formalisms, all meta-modelled in their own right. Models in different formalisms may be transformed into a single common formalism for further processing. These transformations are specified by graph grammars. Mosterman and Vangheluwe [18] introduced the term multi-paradigm modelling to denote the combination of multiple formalisms, multiple abstraction levels, and meta-modelling. As an example of multi-paradigm modelling we present a meta-model for the Object-Oriented Continuous Simulation Language OOCSMP, in which we combine ideas from UML class diagrams (to express the OOCSMP model structure), Causal Block Diagrams (CBDs), and Statecharts (to specify the methods of the OOCSMP classes). A graph grammar is able to generate OOCSMP code, and then a compiler for this language (C-OOL) generates Java applets for the simulation execution.
fundamental approaches to software engineering | 2005
Hartmut Ehrig; Karsten Ehrig; Juan de Lara; Gabriele Taentzer; Dániel Varró; Szilvia Varro-Gyapay
Model Transformation has become central to most software engineering activities. It refers to the process of modifying a (usually graphical) model for the purpose of analysis (by its transformation to some other domain), optimization, evolution, migration or even code generation. In this work, we show termination criteria for model transformation based on graph transformation. This framework offers visual and formal techniques based on rules, in such a way that model transformations can be subject to analysis. Previous results on graph transformation are extended by proving the termination of a transformation if the rules applied meet certain criteria. We show the suitability of the approach by an example in which we translate a simplified version of Statecharts into Petri nets for functional correctness analysis.
Theoretical Computer Science | 2007
Juan de Lara; Roswitha Bardohl; Hartmut Ehrig; Karsten Ehrig; Ulrike Prange; Gabriele Taentzer
The aim of this paper is to integrate typed attributed graph transformation with node type inheritance. Borrowing concepts from object oriented systems, the main idea is to enrich the attributed type graph with an inheritance relation and a set of abstract nodes. In this way, a node type inherits the attributes and edges of all its ancestors. Based on these concepts, it is possible to define abstract productions, containing abstract nodes. These productions are equivalent to a number of concrete productions, resulting from the substitution of the abstract node types by the node types in their inheritance clan. Therefore, productions become more compact and suitable for their use in combination with meta-modelling. The main results of this paper show that attributed graph transformation with node type inheritance is fully compatible with the existing concept of typed attributed graph transformation.
Proceedings of the Workshop on Scalability in Model Driven Engineering | 2013
Dimitrios S. Kolovos; Louis M. Rose; Nicholas Drivalos Matragkas; Richard F. Paige; Esther Guerra; Jesús Sánchez Cuadrado; Juan de Lara; István Ráth; Dániel Varró; Massimo Tisi; Jordi Cabot
As Model-Driven Engineering (MDE) is increasingly applied to larger and more complex systems, the current generation of modelling and model management technologies are being pushed to their limits in terms of capacity and efficiency. Additional research and development is imperative in order to enable MDE to remain relevant with industrial practice and to continue delivering its widely recognised productivity, quality, and maintainability benefits. Achieving scalability in modelling and MDE involves being able to construct large models and domain-specific languages in a systematic manner, enabling teams of modellers to construct and refine large models in a collaborative manner, advancing the state of the art in model querying and transformations tools so that they can cope with large models (of the scale of millions of model elements), and providing an infrastructure for efficient storage, indexing and retrieval of large models. This paper attempts to provide a research roadmap for these aspects of scalability in MDE and outline directions for work in this emerging research area.
automated software engineering | 2013
Esther Guerra; Juan de Lara; Manuel Wimmer; Gerti Kappel; Angelika Kusel; Werner Retschitzegger; Johannes Schönböck; Wieland Schwinger
Model-Driven Engineering promotes the use of models to conduct the different phases of the software development. In this way, models are transformed between different languages and notations until code is generated for the final application. Hence, the construction of correct Model-to-Model (M2M) transformations becomes a crucial aspect in this approach.Even though many languages and tools have been proposed to build and execute M2M transformations, there is scarce support to specify correctness requirements for such transformations in an implementation-independent way, i.e., irrespective of the actual transformation language used.In this paper we fill this gap by proposing a declarative language for the specification of visual contracts, enabling the verification of transformations defined with any transformation language. The verification is performed by compiling the contracts into QVT to detect disconformities of transformation results with respect to the contracts. As a proof of concept, we also report on a graphical modeling environment for the specification of contracts, and on its use for the verification of transformations in several case studies.
Information & Software Technology | 2009
Esther Guerra; Juan de Lara; Alessio Malizia; Paloma Díaz
The integration of usable and flexible analysis support in modelling environments is a key success factor in Model-Driven Development. In this paradigm, models are the core asset from which code is automatically generated, and thus ensuring model correctness is a fundamental quality control activity. For this purpose, a common approach is to transform the system models into formal semantic domains for verification. However, if the analysis results are not shown in a proper way to the end-user (e.g. in terms of the original language) they may become useless. In this paper we present a novel DSVL called BaVeL that facilitates the flexible annotation of verification results obtained in semantic domains to different formats, including the context of the original language. BaVeL is used in combination with a consistency framework, providing support for all steps in a verification process: acquisition of additional input data, transformation of the system models into semantic domains, verification, and flexible annotation of analysis results. The approach has been validated analytically by the cognitive dimensions framework, and empirically by its implementation and application to several DSVLs. Here we present a case study of a notation in the area of Digital Libraries, where the analysis is performed by transformations into Petri nets and a process algebra.
Journal of Visual Languages and Computing | 2004
Juan de Lara; Hans Vangheluwe
This paper presents a framework for the definition of visual notations (both syntax and semantics) based on meta-modelling and graph transformation. With meta-modelling it is possible to define the syntax of the notations we want to deal with. Meta-modelling tools are able to generate environments which accept models in the defined formalisms. These can be provided with further functionality by defining operations that can be performed to the models. One of the ways of defining such manipulations is through graph grammars, because models and meta-models can be represented as attributed, typed graphs. In this way, computations become high-level models expressed in the formal, graphical and intuitive notation of graph grammars. As an example, AToM 3 is used to automatically generate a tool for a Discrete Event Simulation notation. The tool’s functionality has been completely defined in a visual way through graph grammars, and includes a simulator (formalism’s operational semantics), a transformation into Timed Transition Petri nets (denotational semantics), an optimizer and a code generator for a GPSS simulator. r 2004 Elsevier Ltd. All rights reserved.