Skip to main content
Metamodels can be considered one of the key artifacts of any model-based project. Similarly to other software artifacts, metamodels are expected to evolve during their lifecycle and consequently it is crucial to develop approaches and... more
Metamodels can be considered one of the key artifacts of any model-based project. Similarly to other software artifacts, metamodels are expected to evolve during their lifecycle and consequently it is crucial to develop approaches and tools supporting the definition and re-use of metamodel refactorings in a disciplined way. This paper proposes Edelta, a domain specific language for specifying reusable libraries of metamodel refactorings. The language allows both atomic and complex changes and it is supported by an Eclipse-based IDE. The developed supporting environment allows the developer to apply refactorings both in a batch manner and in a step-by-step fashion, which provides developers with an immediate view of the evolving Ecore model before actually changing it.
In Book: Business and Dynamic Change: The Arrival of Business Architecture
ISBN: 978-0986321429
Research Interests:
Track PC : Model-based development, Components and Services Almeida, Eduardo Atkinson, Colin Babar, Ali Barbier, Franck Becker, Steffen Bonsangue, Marcello Brada, Premek Bures, Tomas Calinescu, Radu Carlson, Jan Crnkovic, Ivica (Chair)... more
Track PC : Model-based development, Components and Services Almeida, Eduardo Atkinson, Colin Babar, Ali Barbier, Franck Becker, Steffen Bonsangue, Marcello Brada, Premek Bures, Tomas Calinescu, Radu Carlson, Jan Crnkovic, Ivica (Chair) Engels, Gregor Fritzsche, Mathias Gerard, Sebastien Giese, Holger Grunske, Lars Hamid, Brahim Huljenic, Darko Ilieva, Sylvia Jezequel, Jean-Marc Katsaros, Panagiotis Kotonya, Gerald Kreiner, Christian Larsson, Magnus Lau, Kung-Kiu Lovrek, Ignac Metzger, Andreas Mirandola, Raffaela ...
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, except as permitted by the UK... more
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, except as permitted by the UK Copyright, Designs and Patents Act 1988, without the prior permission of the publisher.
A semi-visual framework for the specification of syntax and semantics of imperative programming languages, called Montages, was proposed in an earlier work by the authors. The primary aim of this formalism is to assist in recording the... more
A semi-visual framework for the specification of syntax and semantics of imperative programming languages, called Montages, was proposed in an earlier work by the authors. The primary aim of this formalism is to assist in recording the decisions taken by the designer during the language design process. The associated tool Gem-Mex allows the designer to maintain the specification and to inspect the semantics to verify whether the design decisions have been properly formalized.
XML (eXtensible Markup Language) is becoming the standard format for documents on Internet and is widely used to exchange data. Often, the relevant information contained in XML documents needs to be also stored in legacy databases (DB) in... more
XML (eXtensible Markup Language) is becoming the standard format for documents on Internet and is widely used to exchange data. Often, the relevant information contained in XML documents needs to be also stored in legacy databases (DB) in order to integrate the new data with the pre-existing ones. In this paper, we introduce a technique for the automatic XML-DB integration, which we call Xere.
Abstract. In this paper, we sketch the modeling of a Workflow Management System (WFMS) by means of the composition of domain–specific languages (DSL), ie languages which are usually designed for being used by domain experts who need... more
Abstract. In this paper, we sketch the modeling of a Workflow Management System (WFMS) by means of the composition of domain–specific languages (DSL), ie languages which are usually designed for being used by domain experts who need languages consisting of terms and notions they are familiar with.
Abstract Increasingly, models are becoming first class core assets, and model-driven engineering requires novel techniques, tools, and practices to face the globalization of software development in the (always more) pervasive IT world.... more
Abstract Increasingly, models are becoming first class core assets, and model-driven engineering requires novel techniques, tools, and practices to face the globalization of software development in the (always more) pervasive IT world. This paper proposes a framework for synchronous and asynchronous concurrent and collaborative modeling.
Abstract: Montages are a new way of describing all aspects of programming languages formally. Such specifications are intelligible for a broad range of people involved in programming language design and use. In order to enhance... more
Abstract: Montages are a new way of describing all aspects of programming languages formally. Such specifications are intelligible for a broad range of people involved in programming language design and use. In order to enhance readability we combine visual and textual elements to yield specifications similar in structure, length, and complexity to those in common language manuals, but with a formal semantics. The formal semantics is based on Gurevich's Abstract State Machines formerly called Evolving Algebras.
The last decade witnessed a dramatic growth of software intricacy and different techniques and methodologies have been proposed to ease complex system development. Model Driven Engineering (MDE)[1] shifts the focus of software development... more
The last decade witnessed a dramatic growth of software intricacy and different techniques and methodologies have been proposed to ease complex system development. Model Driven Engineering (MDE)[1] shifts the focus of software development from coding to modelling and lets software architects harness the opportunity of dealing with higher-level abstractions.
Abstract In data warehousing all kind of sophisticated information systems are used. Tools for the interconnection of di erent systems su er from some limited quality factors, such as exibility and ease of maintenance, since the... more
Abstract In data warehousing all kind of sophisticated information systems are used. Tools for the interconnection of di erent systems su er from some limited quality factors, such as exibility and ease of maintenance, since the components tend to have a natural evolution which is not taken into account. In most cases this results in a loss of consistency of the overall system.
Abstract The speci cation of all aspects of a programming language requires adequate formal models and tool support. Montages speci cations combine graphical and textual elements to yield language descriptions similar in structure,... more
Abstract The speci cation of all aspects of a programming language requires adequate formal models and tool support. Montages speci cations combine graphical and textual elements to yield language descriptions similar in structure, length, and complexity to those in common language manuals, but with a formal semantics. A broad range of people involved in programming language design and use may nd convenient to use Montages in combination with the tool Gem {Mex.
The Eclipse Graphical Modeling (GMF) Framework provides the major approach for implementing visual languages on top of the Eclipse platform. GMF relies on a family of modeling languages to describe abstract syntax, concrete syntax as well... more
The Eclipse Graphical Modeling (GMF) Framework provides the major approach for implementing visual languages on top of the Eclipse platform. GMF relies on a family of modeling languages to describe abstract syntax, concrete syntax as well as other aspects of the visual language and its implementation in an editor. GMF uses a model-driven approach to map the different GMF models to Java code. The framework, as it stands, lacks support for evolution.
Abstract Last decade witnessed a disappointing lack in technology transfer from formal semantics to language design. Research in formal semantics has developed increasingly complex concepts and notation, at the expense of calculational... more
Abstract Last decade witnessed a disappointing lack in technology transfer from formal semantics to language design. Research in formal semantics has developed increasingly complex concepts and notation, at the expense of calculational clarity and applicability in the development of languages. Montages is a visual domain-specific formalism for specifying all the aspects of a programming language.
Models have become essential for dealing with the numerous aspects involved in developing and maintaining complex IT systems. Models assist in capturing the relevant aspects of a system from a given perspective and at a precise level of... more
Models have become essential for dealing with the numerous aspects involved in developing and maintaining complex IT systems. Models assist in capturing the relevant aspects of a system from a given perspective and at a precise level of abstraction.
Complex software systems are often based on the abstraction of package, brought to popularity by Free and Open Source Software (FOSS) distributions. While helpful as an encapsulation layer, packages do not solve all problems of... more
Complex software systems are often based on the abstraction of package, brought to popularity by Free and Open Source Software (FOSS) distributions. While helpful as an encapsulation layer, packages do not solve all problems of deployment, and more generally of management, of large software collections. In particular upgrades, which can affect several packages at once due to inter-package dependencies, often fail and do not hold good transactional properties.
Abstract. In Model Driven Engineering bidirectional transformations are of crucial relevance for round-tripping and consistency checking. Depending on abstraction misalignments between source and target metamodels, such transformations... more
Abstract. In Model Driven Engineering bidirectional transformations are of crucial relevance for round-tripping and consistency checking. Depending on abstraction misalignments between source and target metamodels, such transformations are most of the times non-bijective and give place to non-determinism. In practice, each time a target model undergoes modifications a number of corresponding source models are identified although depending on the application scenario not all of them are of interest.
Resumen: la Ingeniería Dirigida por Modelos (Model-Driven Engineering, MDE) facilita la creación de soluciones en muchos dominios de aplicaciones empresariales a través del uso de abstracciones y de restricciones específicas del dominio.... more
Resumen: la Ingeniería Dirigida por Modelos (Model-Driven Engineering, MDE) facilita la creación de soluciones en muchos dominios de aplicaciones empresariales a través del uso de abstracciones y de restricciones específicas del dominio. Una cualidad importante de los enfoques MDE es su capacidad para comprobar una solución para requisitos específicos del dominio, como por ejemplo las restricciones de seguridad, que son difíciles de evaluar cuando se siguen desarrollos tradicionales centrados en el código fuente.
Abstract Harnessing metamodels to engineer application domains is at the core of Model-Driven Engineering. A large number of artifacts pursuing a common scope are defined starting from metamodels which represent the nucleus of an... more
Abstract Harnessing metamodels to engineer application domains is at the core of Model-Driven Engineering. A large number of artifacts pursuing a common scope are defined starting from metamodels which represent the nucleus of an ecosystem. Analogously to any software artifact, metamodels are equally prone to evolution. However, changing a metamodel might affect the components of the ecosystem.
Abstract Calculating differences between models is an important and challenging task in Model Driven Engineering. Model differencing involves a number of steps starting with identifying matching model elements, calculating and... more
Abstract Calculating differences between models is an important and challenging task in Model Driven Engineering. Model differencing involves a number of steps starting with identifying matching model elements, calculating and representing their differences, and finally visualizing them in an appropriate way.
Abstract Over the last years, Model Driven Engineering platforms evolved from fixed metamodel tools to systems with variable metamodels. This enables dealing with a variety of Domain Specific Languages (DSLs). These generic platforms are... more
Abstract Over the last years, Model Driven Engineering platforms evolved from fixed metamodel tools to systems with variable metamodels. This enables dealing with a variety of Domain Specific Languages (DSLs). These generic platforms are increasingly adopted to solve problems like code generation. However, these environments are often limited to syntax definitions. The AMMA platform conceives DSLs as collections of coordinated models defined using a set of core DSLs.
In recent years, component-based development has evolved to one of the key technologies in software engineering, because it provides a promising way to deal with large scale software developments. Due to this, the realization of component... more
In recent years, component-based development has evolved to one of the key technologies in software engineering, because it provides a promising way to deal with large scale software developments. Due to this, the realization of component interactions has become an important task while implementing a system being assembled from (existing) components.
Abstract Model-Driven Engineering aims at shifting the focus of software development from coding to modelling in order to reduce the complexity of realizing nowadays applications. In this respect, models are expected to evolve due to... more
Abstract Model-Driven Engineering aims at shifting the focus of software development from coding to modelling in order to reduce the complexity of realizing nowadays applications. In this respect, models are expected to evolve due to refinements, improvements, bug fixes, and so forth. Because of the same reasons, also modelling languages (ie metamodels) are expected to be changed, even though at a different speed if compared to models.
Abstract The last decade witnessed a pervasive growth of Web applications intended as environments for distributed applications. Many design methodologies have been proposed to cope with the technical intricacy of such systems. Although... more
Abstract The last decade witnessed a pervasive growth of Web applications intended as environments for distributed applications. Many design methodologies have been proposed to cope with the technical intricacy of such systems. Although each of them proposes its own constructs, they share a common metamodel enabling the designer to describe Web applications under three different views: data, navigation and presentation.
The growing complexity of current software systems naturally conveyed their development toward incremental and distributed approaches to speed up the process. Several developers update the same artefact operating concurrent manipulations... more
The growing complexity of current software systems naturally conveyed their development toward incremental and distributed approaches to speed up the process. Several developers update the same artefact operating concurrent manipulations which need to be coherently combined. The interaction among those changes inevitably involves conflicts which must be detected and reconciled.
FOSS (Free and Open Source Software) systems present interesting challenges in system evolution. On one hand, most FOSS systems are based on very fine-grained units of software deployment–called packages–which promote system evolution; on... more
FOSS (Free and Open Source Software) systems present interesting challenges in system evolution. On one hand, most FOSS systems are based on very fine-grained units of software deployment–called packages–which promote system evolution; on the other hand, FOSS systems are among the largest software systems known and require sophisticated static and dynamic conditions to be verified, in order to successfully deploy upgrades on users' machines.
Abstract. Difference calculation and subsequent representation are interesting and useful operations between models. Whilst the former can be performed by means of a number of tools, the latter is often based on case–specific solutions... more
Abstract. Difference calculation and subsequent representation are interesting and useful operations between models. Whilst the former can be performed by means of a number of tools, the latter is often based on case–specific solutions with limited abstraction. Therefore, a model representation for differences can be convenient both to depict information needed in a general way and to perform interesting operations such as parallel compositions.
The eXtensible Markup Language (XML) is a de facto standard on the Internet and is now being used to exchange a variety of data structures. This leads to the problem of efficiently storing, querying and retrieving a great amount of data... more
The eXtensible Markup Language (XML) is a de facto standard on the Internet and is now being used to exchange a variety of data structures. This leads to the problem of efficiently storing, querying and retrieving a great amount of data contained in XML documents. Unfortunately, XML data often need to coexist with historical data.
Abstract Free and Open Source Software (FOSS) distributions are complex software systems, made of thousands packages that evolve rapidly, independently, and without centralized coordination. During packages upgrades, corner case failures... more
Abstract Free and Open Source Software (FOSS) distributions are complex software systems, made of thousands packages that evolve rapidly, independently, and without centralized coordination. During packages upgrades, corner case failures can be encountered and are hard to deal with, especially when they are due to misbehaving maintainer scripts: executable code snippets used to finalize package configuration.
Abstract. The goal of the workshop was to exchange ideas and experiences related to Model (Co-) evolution and Consistency Management (MCCM) in the context of Model-Driven Engineering (MDE). Contemporary MDE practices typically include the... more
Abstract. The goal of the workshop was to exchange ideas and experiences related to Model (Co-) evolution and Consistency Management (MCCM) in the context of Model-Driven Engineering (MDE). Contemporary MDE practices typically include the manipulation and transformation of a large and heterogeneous set of models. This heterogeneity exhibits itself in different guises ranging from notational differences to semantic content-wise variations.
Abstract The problem of keeping aligned software artifacts and non-functional models is nowaday ever more stringent, also due to the complexity of the maintenance phase of software systems. In fact today the software, after deployment,... more
Abstract The problem of keeping aligned software artifacts and non-functional models is nowaday ever more stringent, also due to the complexity of the maintenance phase of software systems. In fact today the software, after deployment, tends to evolve due to:(i) changes in the context/environment where it runs,(ii) evolution of user requirements. Hence, there is an increasing need for techniques that introduce automation in the management of development artifacts that have to be consistent to each other.
Montages [KP97] form a graphical notation for expressing the syntax and semantics of imperative and object oriented languages. Every syntactic construct has its meaning specified by a Montage, which consist of a diagram defining... more
Montages [KP97] form a graphical notation for expressing the syntax and semantics of imperative and object oriented languages. Every syntactic construct has its meaning specified by a Montage, which consist of a diagram defining graphically the control and data flow, and textually the semantic actions of the construct. The control-flow edges show how behavior of the construct is composed from the behavior of its components, and data-flow edges enable semantic actions to access the attributes of the construct's components.
Behavioral analysis of middleware-based applications typically requires the analysis of the middleware and the application, in a monolithic way. In terms of model-checking, this is a complex task and may result in the well known... more
Behavioral analysis of middleware-based applications typically requires the analysis of the middleware and the application, in a monolithic way. In terms of model-checking, this is a complex task and may result in the well known “state-explosion” problem. These considerations led us to investigate a compositional verification approach which decomposes the system in accordance with its Software Architecture.
Increasingly, aspect-oriented programming (AOP)[1] has been considered to pursue a better modularization of object-oriented programs, especially when representing crosscutting concerns. However, current aspect-oriented frameworks such as... more
Increasingly, aspect-oriented programming (AOP)[1] has been considered to pursue a better modularization of object-oriented programs, especially when representing crosscutting concerns. However, current aspect-oriented frameworks such as AspectJ [2], AspectWerkz [3], JMangler [4] and others, operate in a way directly related to the code.
In this paper we present some of the key issues involved in model transformation specification and testing, discuss and classify some of the existing approaches, and introduce the concept of Tract, a generalization of model transformation... more
In this paper we present some of the key issues involved in model transformation specification and testing, discuss and classify some of the existing approaches, and introduce the concept of Tract, a generalization of model transformation contracts. We show how Tracts can be used for model transformation specification and black-box testing, and the kinds of analyses they allow. Some representative examples are used to illustrate this approach.
Over the last years, a number of formalisms have been proposed. They have been successfully used to investigate fragments of languages and to discover flaws (in some formal sense) in the design of languages. Unfortunately, language... more
Over the last years, a number of formalisms have been proposed. They have been successfully used to investigate fragments of languages and to discover flaws (in some formal sense) in the design of languages. Unfortunately, language designers make still little use of formal methods and most of the languages are specified informally.
Abstract Viewpoint modeling is an effective technique for specifying complex software systems in terms of a set of independent viewpoints and correspondences between them. Each viewpoint focuses on a particular aspect of the system,... more
Abstract Viewpoint modeling is an effective technique for specifying complex software systems in terms of a set of independent viewpoints and correspondences between them. Each viewpoint focuses on a particular aspect of the system, abstracting away from the rest of the concerns. Correspondences specify the relationships between the elements in different views, together with the constraints that guarantee the consistency among these elements.
It is of critical relevance that designers are able to comprehend the various kinds of design-level modifications that a system undergoes throughout its entire lifecycle. In this respect, an interesting and useful operation between... more
It is of critical relevance that designers are able to comprehend the various kinds of design-level modifications that a system undergoes throughout its entire lifecycle. In this respect, an interesting and useful operation between subsequent system versions is the model difference calculation and representation. In this paper, a metamodel independent approach to the representation of model differences which is agnostic of the calculation method is presented.
Abstract. In Model-Driven Engineering models and metamodels are not preserved from the evolutionary pressure which inevitably affects almost any artefacts. Moreover, the coupling between models and metamodels implies that when a metamodel... more
Abstract. In Model-Driven Engineering models and metamodels are not preserved from the evolutionary pressure which inevitably affects almost any artefacts. Moreover, the coupling between models and metamodels implies that when a metamodel undergoes a modification, the conforming models require to be accordingly co-adapted. One of the main obstacles to the complete automation of the adaptation process is represented by the dependencies which occur among the different kinds of modifications.
Abstract Increasingly, Web applications are used in similar environments to fulfill similar tasks. Sharing a common infrastructure and reusing assets to deploy recurrent services may be considered an advantage in terms of economic... more
Abstract Increasingly, Web applications are used in similar environments to fulfill similar tasks. Sharing a common infrastructure and reusing assets to deploy recurrent services may be considered an advantage in terms of economic significance and overall quality. Thus, it may be appropriate to design web applications as members of a product family. The paper illustrates Koriandol, a product-line architecture designed to develop, deploy and maintain web application families.
Abstract Montages are a semi-visual language specification formalism recently proposed by some of the authors. This framework has been successfully used to give complete executable specifications of languages like C and Java. This paper... more
Abstract Montages are a semi-visual language specification formalism recently proposed by some of the authors. This framework has been successfully used to give complete executable specifications of languages like C and Java. This paper compares Montages with action equations, both being paradigms for incorporating a means for specifying dynamic semantics in an environment generator using an attribute grammar framework.
Abstract. Web application development is among the most rapidly changing areas in nowadays software industry. Both problem space and solution technologies affect the cost-effectiveness of such applications whose business pressures of... more
Abstract. Web application development is among the most rapidly changing areas in nowadays software industry. Both problem space and solution technologies affect the cost-effectiveness of such applications whose business pressures of cost, quality and time-to-market are among the most extreme. Model-driven architectures (MDA) separate the application logic from the underlying platform technology and represent this logic with precise semantic models.
Most web applications are data-intensive, ie they rely heavily on dynamic contents usually stored in databases. Website design and maintenance can greatly benefit from conceptual descriptions of both data and hypermedia aspects, ie those... more
Most web applications are data-intensive, ie they rely heavily on dynamic contents usually stored in databases. Website design and maintenance can greatly benefit from conceptual descriptions of both data and hypermedia aspects, ie those design dimensions which distinguish this application class: the data upon which the content is based, the way dynamic contents are composed together to form pages, and how pages are linked together in order to move across the application content.
Abstract Increasingly, UML metamodels and profiles are adopted to specify software architectures from different angles in order to cope with analysis specific modeling needs. In particular, whenever two or more analysis techniques are... more
Abstract Increasingly, UML metamodels and profiles are adopted to specify software architectures from different angles in order to cope with analysis specific modeling needs. In particular, whenever two or more analysis techniques are required over the same architectural model, different modeling tools and notations are required, and feedback from one model to the other is not propagated since integration is not universally established.
Abstract We present a mathematical instrument called Montages for the formal semantic description of realistic, full {scale programming languages. Montages speci cations are modular and their structure guides the design process. Syntax,... more
Abstract We present a mathematical instrument called Montages for the formal semantic description of realistic, full {scale programming languages. Montages speci cations are modular and their structure guides the design process. Syntax, static and dynamic semantics are described in a uni ed setting by means of visual and textual speci cation elements. The formalism is based on Gurevich's Abstract State Machines and can be equally well understood by language designers, compiler constructors, and programmers.

And 18 more