Catálogo de publicaciones - libros

Compartir en
redes sociales


Transactions on Aspect-Oriented Software Development IV

Awais Rashid ; Mehmet Aksit (eds.)

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 2007 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-3-540-77041-1

ISBN electrónico

978-3-540-77042-8

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Springer-Verlag Berlin Heidelberg 2007

Tabla de contenidos

Guest Editors’ Introduction: Early Aspects — Mapping Across the Lifecycle

João Araújo; Elisa Baniassad

Early Aspects are aspects found in the early life-cycle phases of software development, including requirements elicitation and analysis, domain analysis and architecture design activities. Aspects at these stages crosscut the modular units appropriate for their lifecycle activity; traditional requirements documentation, domain knowledge capture and architectural artifacts do not afford separate description of early aspects. As such, early aspects necessitate new modularizations to be effectively captured and maintained. Without new tools and techniques, early aspects remain tangled and scattered in life-cycle artifacts, and may lead to development, maintenance and evolution difficulties.

- Focus: Early Aspects – Mapping Across the Lifecycle | Pp. 1-2

COMPASS: Composition-Centric Mapping of Aspectual Requirements to Architecture

Ruzanna Chitchyan; Mónica Pinto; Awais Rashid; Lidia Fuentes

Currently there are several approaches available for aspect-oriented requirements engineering and architecture design. However, the relationship between aspectual requirements and architectural aspects is poorly understood. This is because aspect-oriented requirements engineering approaches normally extend existing requirements engineering techniques. Although this provides backward compatibility, the composition semantics of the aspect-oriented extension are limited by those of the approaches being extended. Consequently, there is limited or no knowledge about how requirements-level aspects and their compositions map on to architecture-level aspects and architectural composition. In this paper, we present COMPASS, an approach that offers a systematic means to derive an aspect-oriented architecture from a given aspect-oriented requirements specification. COMPASS is centred on an aspect-oriented requirements description language (RDL) that enriches the usual informal natural language requirements with additional compositional information derived from the semantics of the natural language descriptions themselves. COMPASS also offers an aspect-oriented architecture description language (AO-ADL) that uses components and connectors as the basic structural elements (similar to traditional ADLs) with aspects treated as specific types of components. Lastly, COMPASS provides a set of concrete mapping guidelines, derived from a detailed case study, based on mapping patterns of compositions and dependencies in the RDL to patterns of compositions and dependencies in the AO-ADL. The mapping patterns are supported via a structural mapping of the RDL and AO-ADL meta-models.

- Focus: Early Aspects – Mapping Across the Lifecycle | Pp. 3-53

Aspects at the Right Time

Pablo Sánchez; Lidia Fuentes; Andrew Jackson; Siobhán Clarke

At different stages of the aspect development lifecycle, there are different properties of aspects that need to be considered. Currently, there is no integrated approach to defining the appropriate characteristics of aspects at the appropriate stage, or of tracing decisions made for evolution purposes. Our focus is on the early aspects stages of development — requirements analysis, architecture design, and detailed design — where there are already many different approaches that provide useful constructs and mechanisms to capture the different properties of aspects that are in play at the relevant stage. However, it is difficult to move between stages using different approaches. In this paper, we describe an aspect mapping from requirements to architecture to design: in particular, Theme/Doc (requirements), CAM (architecture) and Theme/UML (design). The mapping includes heuristics to guide as to the right time to specify the right aspect properties. In addition, it allows aspect decisions captured at each stage to be refined at later stages as appropriate. While this provides an integrated approach for aspect specification, it is not enough to facilitate the traceability of aspect decisions. To this end, we also describe a means to record decisions that capture the alternatives considered and the decision justification. This information is crucial for managing aspect evolution at the right time.

- Focus: Early Aspects – Mapping Across the Lifecycle | Pp. 54-113

Guest Editors’ Introduction: Aspects and Software Evolution

Walter Cazzola; Shigeru Chiba; Gunter Saake

Software evolution and adaptation is a research area, as also the name states, in continuous evolution, that offers stimulating challenges for both academic and industrial researchers. The evolution of software systems, to face unexpected situations or just for improving their features, relies on software engineering techniques and methodologies, that often imply re-designing, refactoring and re-coding part of or the whole system. Nowadays, similar approaches are not applicable in all situations (e.g., for evolving non-stopping systems or systems whose code is not available) and different approaches are necessary.

- Focus: Aspects and Software Evolution | Pp. 114-116

Extracting and Evolving Code in Product Lines with Aspect-Oriented Programming

Vander Alves; Pedro Matos; Leonardo Cole; Alexandre Vasconcelos; Paulo Borba; Geber Ramalho

For some organizations, the proactive approach to product lines may be inadequate due to prohibitively high investment and risks. As an alternative, the extractive and the reactive approaches are incremental, offering moderate costs and risks, and therefore sometimes may be more appropriate. However, combining these two approaches demands a more detailed process at the implementation level. This paper presents a method and a tool for extracting a product line and evolving it, relying on a strategy that uses refactorings expressed in terms of simpler programming laws. The approach is evaluated with a case study in the domain of games for mobile devices, where variations are handled with aspect-oriented constructs.

- Focus: Aspects and Software Evolution | Pp. 117-142

A Survey of Automated Code-Level Aspect Mining Techniques

Andy Kellens; Kim Mens; Paolo Tonella

This paper offers a first, in-breadth survey and comparison of current aspect mining tools and techniques. It focuses mainly on automated techniques that mine a program’s static or dynamic structure for candidate aspects. We present an initial comparative framework for distinguishing aspect mining techniques, and assess known techniques against this framework. The results of this assessment may serve as a roadmap to potential users of aspect mining techniques, to help them in selecting an appropriate technique. It also helps aspect mining researchers to identify remaining open research questions, possible avenues for future research, and interesting combinations of existing techniques.

- Focus: Aspects and Software Evolution | Pp. 143-162

Safe and Sound Evolution with SONAR

Chunjian Robin Liu; Celina Gibbs; Yvonne Coady

Traditional diagnostic and optimization techniques typically rely on static instrumentation of a small portion of an overall system. Unfortunately, solely static and localized approaches are simply no longer sustainable in the evolution of today’s complex and dynamic systems. Sustainable Optimization and Navigation with Aspects for system-wide Reconciliation is a fluid and unified framework that enables stakeholders to explore and adapt meaningful entities that are otherwise spread across predefined abstraction boundaries. Through a combination of Aspect-Oriented Programming, Extensible Markup Language, and management tools such as Java Management Extensions, SONAR can comprehensively coalesce scattered artifacts—enabling evolution to be more inclusive of system-wide considerations by supporting both iterative and interactive practices. We believe this system-wide approach promotes the application of safe and sound principles in system evolution. This paper presents SONAR’s model, examples of its concrete manifestation, and an overview of its associated costs and benefits. Case studies demonstrate how SONAR can be used to accurately identify performance bottlenecks and effectively evolve systems by optimizing behaviour, even at runtime.

- Focus: Aspects and Software Evolution | Pp. 163-190