Catálogo de publicaciones - libros
Component-Based Software Engineering: 9th International Symposium, CBSE 2006, Västerås, Sweden, June 29: July 1, 2006, Proceedings
Ian Gorton ; George T. Heineman ; Ivica Crnković ; Heinz W. Schmidt ; Judith A. Stafford ; Clemens Szyperski ; Kurt Wallnau (eds.)
En conferencia: 9º International Symposium on Component-Based Software Engineering (CBSE) . Västerås, Sweden . June 29, 2006 - July 1, 2006
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-35628-8
ISBN electrónico
978-3-540-35629-5
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/11783565_1
Defining and Checking Deployment Contracts for Software Components
Kung-Kiu Lau; Vladyslav Ukis
Ideally in the deployment phase, components should be composable, and their composition checked. Current component models fall short of this ideal. Most models do not allow composition in the deployment phase. Moreover, current models use only deployment descriptors as deployment contracts. These descriptors are not ideal contracts. For one thing, they are only for specific containers, rather than arbitrary execution environments. In any case, they are checked only at runtime, not deployment time. In this paper we present an approach to component deployment which not only defines better deployment contracts but also checks them in the deployment phase.
- Full Papers | Pp. 1-16
doi: 10.1007/11783565_2
GLoo: A Framework for Modeling and Reasoning About Component-Oriented Language Abstractions
Markus Lumpe
The most important contribution to the success or failure of a software project comes from the choice of the programming languages being used and their support in the target environment. The choice of a suitable implementation language is not a guarantor for success, but an unsuitable language may result in a long, error-prone, and costly implementation, often resulting in an unstable product. In this paper, we present GLoo, a framework for modeling and reasoning about language mechanisms for object- and component-oriented software development. At the heart of GLoo is a small that provides abstractions to (i) define and/or import reusable software components, (ii) introduce new compositional language abstractions, and (iii) build executable and reusable component-oriented specifications. To demonstrate its flexibility and extensibility, we then present an encoding of the concept as an example of how to add support for a new and readily available language abstraction to the GLoo framework.
- Full Papers | Pp. 17-32
doi: 10.1007/11783565_3
Behavioral Compatibility Without State Explosion: Design and Verification of a Component-Based Elevator Control System
Paul C. Attie; David H. Lorenz; Aleksandra Portnova; Hana Chockler
Most methods for designing component-based systems and verifying their compatibility address only the syntactic compatibility of components; no analysis of run-time behavior is made. Those methods that do address run-time behavior suffer from : the exponential increase of the number of global states, and hence the complexity of the analysis, with the number of components. We present a method for designing component-based systems and verifying their behavioral compatibility and temporal behavior that is not susceptible to state explosion. Our method is mostly automatic, with little manual deduction required, and does not analyze a large system of connected components at once, but instead analyzes components two-at-a-time. This pair-wise approach enables the automatic verification of temporal behavior, using model-checking, in time polynomial in the number and size of all components. Our method checks that behavior of a pair of interacting components conforms to given properties, specified in temporal logic. Interaction of the components is captured in a product of their behavioral automata, which are provided as a part of each component’s interface. We demonstrate the effectiveness of our method by applying it to the design and verification of a component-based elevator control algorithm.
- Full Papers | Pp. 33-49
doi: 10.1007/11783565_4
Verification of Component-Based Software Application Families
Fei Xie; James C. Browne
We present a novel approach which facilitates formal verification of component-based software application families using model checking. This approach enables effective compositional reasoning by facilitating formulation of component properties and their environment assumptions. This approach integrates bottom-up component verification and top-down system verification based on the concept of application family architectures (AFA). The core elements of an AFA are architectural styles and reusable components. Reusable components of a family are defined in the context of its architectural styles and their correctness properties are verified in bottom-up component compositions. Top-down system verification utilizes architectural styles to guide decomposition of properties of a system into properties of its components and formulation of assumptions for the component properties. The component properties are reused if already verified; otherwise, they are verified top-down recursively. Architectural style guided property decomposition facilitates reuse of verified component properties. Preliminary case studies have shown that our approach achieves order-of-magnitude reduction on verification complexities and realizes major verification reuse.
- Full Papers | Pp. 50-66
doi: 10.1007/11783565_5
Multi Criteria Selection of Components Using the Analytic Hierarchy Process
João W. Cangussu; Kendra C. Cooper; Eric W. Wong
The Analytic Hierarchy Process (AHP) has been successfully used in the past for the selection of components, as presented in case studies in the literature. In this paper, an empirical study using AHP to rank components is presented. The components used in the study are for data compression; each implements one of the Arithmetic Encoding (AREC), Huffman coding (HUFF), Burrows-Wheeler Transform (BWT), Fractal Image Encoding (FRAC), and Embedded Zero-Tree Wavelet Encoder (EZW) algorithms. The ranking is a semi-automated approach that is based on using rigorously collected data for the components’ behavior; selection criteria include maximum memory usage, total response time, and security properties (e.g., data integrity). The results provide a clear indication that AHP is appropriate for the task of selecting components when several criteria must be considered. Though the study is limited to select components based on multiple non-functional criteria, the approach can be expanded to include multiple functional criteria.
- Full Papers | Pp. 67-81
doi: 10.1007/11783565_6
From Specification to Experimentation: A Software Component Search Engine Architecture
Vinicius Cardoso Garcia; Daniel Lucrédio; Frederico Araujo Durão; Eduardo Cruz Reis Santos; Eduardo Santana de Almeida; Renata Pontin de Mattos Fortes; Silvio Romero de Lemos Meira
This paper presents a software component search engine, from the early specification and design steps to two experiments performed to evaluate its performance. After the experience gained from the use of this first version, several improvements were introduced. The current version of the engine combines and search. The experiments indicated, so far, that using these two techniques together is better than using them separately. From the experience obtained in these experiments and in industrial tests, we point out possible improvements and future research directions, which are presented and discussed at the end of the paper.
- Full Papers | Pp. 82-97
doi: 10.1007/11783565_7
Architectural Building Blocks for Plug-and-Play System Design
Shangzhu Wang; George S. Avrunin; Lori A. Clarke
One of the distinguishing features of distributed systems is the importance of the interaction mechanisms that are used to define how the sequential components interact with each other. Given the complexity of the behavior that is being described and the large design space of various alternatives, choosing appropriate interaction mechanisms is difficult. In this paper, we propose a component-based specification approach that allows designers to experiment with alternative interaction semantics. Our approach is also integrated with design-time verification to provide feedback about the correctness of the overall system design. In this approach, connectors representing specific interaction semantics are composed from reusable building blocks. Standard communication interfaces for components are defined to reduce the impact of changing interactions on components’ computations. The increased reusability of both components and connectors also allows savings at model-construction time for finite-state verification.
- Full Papers | Pp. 98-113
doi: 10.1007/11783565_8
A Symmetric and Unified Approach Towards Combining Aspect-Oriented and Component-Based Software Development
Davy Suvée; Bruno De Fraine; Wim Vanderperren
In this paper, we propose a novel approach towards integrating the ideas behind Aspect-Oriented and Component-Based Software Development. Our approach aims at achieving a symmetric, unified component architecture that treats aspects and components as uniform entities. To this end, a novel component model is introduced that does not employ specialized aspect constructs for modularizing crosscutting concerns. Instead, an expressive configuration language is provided that allows to describe both regular and aspect-oriented interactions amongst components. This paper presents the ongoing FuseJ research, a first experiment for realizing this symmetric and unified aspect/component architecture.
- Full Papers | Pp. 114-122
doi: 10.1007/11783565_9
Designing Software Architectures with an Aspect-Oriented Architecture Description Language
Jennifer Pérez; Nour Ali; Jose A. Carsí; Isidro Ramos
A great deal of languages have emerged and have demonstrated the advantages that Aspect-Oriented Programming offers. For this reason, the aspect-oriented approach is being introduced into the early phases (analysis and design) of the software life cycle. In this work, we present an Aspect-Oriented Architecture Description Language (AOADL) to specify software architectures of complex, dynamic and distributed software systems. This AOADL follows the PRISMA approach, which integrates the advantages of Component-Based Software Development (CBSD) and Aspect-Oriented Software Development (AOSD). The PRISMA AOADL combines components and aspects in an elegant and novel way achieving a better management of crosscutting-concerns. In addition, it is independent of the technology, and it has great expressive power in order to facilitate the automatic code generation from its specifications. In this work, we demonstrate how PRISMA AOADL improves the management, maintainability and reusability of software architectures introducing the notion of aspect in its ADL.
- Full Papers | Pp. 123-138
doi: 10.1007/11783565_10
A Component Model Engineered with Components and Aspects
Lionel Seinturier; Nicolas Pessemier; Laurence Duchien; Thierry Coupaye
This paper presents AOKell, a framework for engineering component-based systems. This framework implements the Fractal model, a hierarchical and dynamic component model. The novelty of this paper lies in the presentation of AOKell, an implementation of the Fractal model with aspects. Two dimensions can be isolated with Fractal: the functional dimension, which is concerned with the definition of application components, and the control dimension, which is concerned with the technical services (e.g. lifecycle, binding, persistence, etc.) that manage components. The originality of AOKell is, first, to provide an aspect-oriented approach to integrate these two dimensions, and second, to apply a component-based approach for engineering the control dimension. Hence, AOKell is a reflective component framework where application components are managed by other, so-called, control components and where aspects glue together application components and control components.
- Full Papers | Pp. 139-153