Catálogo de publicaciones - libros
Generative and Transformational Techniques in Software Engineering: International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers
Ralf Lämmel ; João Saraiva ; Joost Visser (eds.)
En conferencia: International Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE) . Braga, Portugal . July 4, 2005 - July 8, 2005
Resumen/Descripción – provisto por la editorial
No disponible.
Palabras clave – provistas por la editorial
No disponibles.
Disponibilidad
| Institución detectada | Año de publicación | Navegá | Descargá | Solicitá |
|---|---|---|---|---|
| No detectada | 2006 | SpringerLink |
Información
Tipo de recurso:
libros
ISBN impreso
978-3-540-45778-7
ISBN electrónico
978-3-540-46235-4
Editor responsable
Springer Nature
País de edición
Reino Unido
Fecha de publicación
2006
Información sobre derechos de publicación
© Springer-Verlag Berlin Heidelberg 2006
Cobertura temática
Tabla de contenidos
doi: 10.1007/11877028_11
Agile Parsing to Transform Web Applications
Thomas Dean; Mykyta Synytskyy
Syntactic analysis lies at the heart of many transformation tools. Grammars are used to provide a structure to guide the application of transformations. Agile parsing is a technique in which grammars are adapted on a transformation by transformation basis to simplify transformation tasks. This paper gives an overview of agile parsing techniques, and how they may be applied to Web Applications. We give examples from several transformations that have been used in the Web application domain.
Palabras clave: Parse Tree; Clone Detection; Transformation Tool; Interesting Element; Clone Candidate.
II - Technology Presentations | Pp. 312-326
doi: 10.1007/11877028_12
Data Cleaning and Transformation Using the AJAX Framework
Helena Galhardas
Data quality problems arise in different application contexts and require appropriate handling so that information becomes reliable. Examples of data anomalies are: missing values, the existence of duplicates, misspellings, data inconsistencies and wrong data formats. Current technologies handle data quality problems through: (i) software programs written in a programming language (e.g., C or Java) or an RDBMS programming language, (ii) the integrity constraints mechanisms offered by relational database management systems; or (iii) using a commercial data quality tool. None of these approaches is appropriate when handling non-conventional data applications dealing with large amounts of information. In fact, the existing technology is not able to support the design of a data flow graph that effectively and efficiently produce clean data. AJAX is a data cleaning and transformation tool that overcomes these aspects. In this paper, we present an overview of the entire set of functionalities supported by the AJAX system. First, we explain the logical and physical levels of the AJAX framework, and the advantages brought in terms of specification and optimization of data cleaning programs. Second, the set of logical data cleaning and transformation operators is described and exemplified, using the declarative language proposed. Third, we illustrate the purpose of the debugging facility and how it is supported by the exception mechanism offered by logical operators. Finally, the architecture of the AJAX system is presented and experimental validation of the prototype is briefly referred.
Palabras clave: Logical Operator; Data Transformation; Data Cleaning; Physical Level; Match Operator.
II - Technology Presentations | Pp. 327-343
doi: 10.1007/11877028_13
Developing Tools with Fujaba XProM
Leif Geiger; Albert Zündorf
Fujaba is an UML [21] based CASE tool with an emphasis on code generation from graphical behavior specifications. The Fujaba tool is accompanied by the Fujaba process, a systematic approach to use Fujaba for system development [5]. To improve the tool support for the Fujaba process, we have developed the XProM plug-in. This paper exemplifies how the XProM plug-in supports the tool developer in following the Fujaba Process. Main parts of this paper are a tutorial to XProM users. However, the paper is also useful for other CASE tool developers as a guide how developers could be supported. Therefore, we also give some hints, how such a support may be realized. As a running example we use the development of model transformations for a simple statechart editor.
Palabras clave: Class Diagram; Object Structure; Interaction Diagram; Case Diagram; Diagram Element.
II - Technology Presentations | Pp. 344-356
doi: 10.1007/11877028_14
The COMPOST, COMPASS, Inject/J and RECODER Tool Suite for Invasive Software Composition: Invasive Composition with COMPASS Aspect-Oriented Connectors
Dirk Heuzeroth; Uwe Aßmann; Mircea Trifu; Volker Kuttruff
Program analyses and transformations are means to support program evolution and bridge architectural mismatches in component composition. The Program Structures Group at the University of Karlsruhe und the FZI Karlsruhe, that we are or have been members of, have developed a suite of program analysis and transformation tools to attack these problems. The basic tool Recoder offers sophisticated source code analyses and a library of common transformations in the form of Java meta programs to perform necessary component and interaction adapations. This library can be extended by the Recoder framework that offers means for implementing custom transformations. A transformation can also be a generator to produce glue code, for example. Inject/J uses Recoder and offers a comfortable scripting language for implementing transformations. The scripting language combines declarative specifications of the program points, where the transformation should be applied, with imperative specifications of the transformation itself. COMPASS is focused on bridging interaction mismatches among software components. It introduces architectural elements like components, ports and aspect-oriented connectors as source code transformations based on the Recoder framework. COMPOST defines the general model of invasive software composition, where the ports of the COMPASS model are just one kind of hooks. Hooks are join points, i.e. part of a component that may be extended or replaced.
Palabras clave: Source Code; Model Query; Model Drive Architecture; Abstract Syntax Tree; Compilation Unit.
II - Technology Presentations | Pp. 357-377
doi: 10.1007/11877028_15
Program Transformation Using HATS 1.84
Victor Winter; Jason Beranek
This article gives an overview of a transformation system called HATS – a freely available platform independent IDE facilitating experimentation in transformation-oriented software development. Examples are discussed highlighting how the transformational abstractions provided by HATS can be used to solve various problems.
Palabras clave: Parse Tree; Program Transformation; Transformation Language; Class Loader; Transformation Engine.
II - Technology Presentations | Pp. 378-396
doi: 10.1007/11877028_16
Using Java CSP Solvers in the Automated Analyses of Feature Models
David Benavides; Sergio Segura; Pablo Trinidad; Antonio Ruiz-Cortés
Feature Models are used in different stages of software development and are recognized to be an important asset in model transformation techniques and software product line development. The automated analysis of feature models is being recognized as one of the key challenges for automated software development in the context of Software Product Lines. In our previous work we explained how a feature model can be transformed into a constraint satisfaction problem. However cardinalities were not considered. In this paper we present how a cardinality-based feature model can be also translated into a constraint satisfaction problem. In that connection, it is possible to use off-the-shelf tools to automatically accomplish several tasks such as calculating the number of possible feature configurations and detecting possible conflicts. In addition, we present a performance test between two off-the-shelf Java constraint solvers. To the best of our knowledge, this is the first time a performance test is presented using solvers for feature modelling proposes
Palabras clave: Feature Model; Constraint Programming; Constraint Satisfaction Problem; Software Product Line; Software Product Line Engineering.
III - Participants’ Contributions | Pp. 399-408
doi: 10.1007/11877028_17
Co-transformations in Database Applications Evolution
Anthony Cleve; Jean-Luc Hainaut
The paper adresses the problem of consistency preservation in data intensive applications evolution. When the database structure evolves, the application programs must be changed to interface with the new schema. The latter modification can prove very complex, error prone and time consuming. We describe a comprehensive transformation/generative approach according to which automated program transformation can be derived from schema transformation. The proposal is illustrated in the particular context of database reengineering, for which a specific methodology and a prototype tool are presented. Some results of two case studies are described.
Palabras clave: Structural Mapping; Entity Type; Relationship Type; Database Schema; Program Transformation.
III - Participants’ Contributions | Pp. 409-421
doi: 10.1007/11877028_18
Modular Name Analysis for Java Using JastAdd
Torbjörn Ekman; Görel Hedin
Name analysis for Java is challenging with its complex visibility rules involving nested scopes, inheritance, qualified access, and syntactic ambiguities. We show how Java name analysis including ambiguities related to names of variables, fields, and packages, can be implemented in a declarative and modular manner using the JastAdd compiler construction system. Declarative attributes and context-dependent rewrites enable the implementation to be modularized in the same way as the informal Java language specification. The individual rules in the specification transfer directly to equations in the implementation. Rewrites are used to define new concepts in terms of existing concepts in an iterative manner in the same way as the informal language specification. This enables equations to use both context-free and context-dependent concepts and leads to improved separation of concerns. A full Java 1.4 compiler has been implemented to validate the technique.
III - Participants’ Contributions | Pp. 422-436
doi: 10.1007/11877028_19
Techniques for Lightweight Generator Refactoring
Holger Krahn; Bernhard Rumpe
This paper presents an exercise to facilitate refactoring techniques not only on generated code, but also on generator templates by reusing existing refactoring techniques from the target language. Refactoring is particularly useful if not only the generated classes but also the template defining the result of the code generator can be adapted in a uniform treatment. We describe a simple demonstration prototype that illustrates our approach. The demonstration is based on the idea to define the templates for code generation themselves as compilable and therefore refactorable source code. However, this limits the directives embedded in the template used for code generation, as we have to embed those as comments. We explore how far this approach carries and where its limits are.
III - Participants’ Contributions | Pp. 437-446
doi: 10.1007/11877028_20
E-CARES Project: Reengineering of Telecommunication Systems
Christof Mosler
One important field of application for embedded real-time systems is in the telecommunications industry. In the first phase of the E-CARES reengineering project, we regarded the architecture modeling and the reverse engineering of telecommunication systems. Current work concerns the restructuring of such systems including their re-design and re-implementation. The aim is to provide concepts, languages, methods, and tools to improve the architecture and the real-time performance of the software system. Our reengineering prototype is based on a graph rewriting system by which the underlying application logic is generated.
Palabras clave: Source Code; Reverse Engineering; Short Message Service; Telecommunication System; Graph Transformation.
III - Participants’ Contributions | Pp. 447-458