Software Components, Architectures and Reuse
J.UCS Special Issue
Cecília M. F. Rubira
(IC, University of Campinas (UNICAMP), Brazil
cmrubira@ic.unicamp.br)
Rogério de Lemos
(Computing Laboratory, University of Kent, United Kingdom
r.delemos@kent.ac.uk)
The aim of this special issue is to report the state of research
and practice on the theme of software components, architectures and
reuse. This special issue is comprised of invited papers, and
peer-reviewed papers presented at the Brazilian Symposium on Software
Components, Architectures and Reuse (SBCARS 2007) (http://www.ic.unicamp.br/sbcars2007),
held in Campinas, São Paulo, Brazil, 29-31 August, 2007.
The call for this special issue received 18 submissions: 14
submissions related to extended and revised versions of papers
accepted for SBCARS 2007, and 4 invited submissions from well-known
researchers in the area. Each of the 18 submissions was reviewed by at
least 3 reviewers, and based on the reviewers' recommendations 8
papers were accepted. These papers stand for the high quality of the
research being carried out among researchers from Brazil, Canada,
France, Italy, Sweden, United Kingdom, and United States.
Contents of this Issue
The first paper entitled "Model Interpreter
Frameworks: A Foundation for the Analysis of Domain-Specific Software
Architectures" (G. Edwards, C. Seo, N. Medvidovic) proposes a
reusable model interpreter for reducing the complexity of transforming
architectural models into analytical models. In the context of
component-based software development, the proposed approach enables
the automated analysis of the quality attributes of software systems,
such as, performance, reliability, and resource consumption. For
illustrating the approach, the authors describe the implementation of
the eXtensible Toolchain for Evaluation of Architectural Models
(XTEAM), an environment that integrates the activities of modeling,
analysis, and synthesis.
The second paper "Embedded
Software Revitalization Through Component Mining" (M. Ramos,
R. Penteado) presents an approach for software maintenance that relies
on the mining of components for performing the revitalization of
embedded legacy systems. The intent is to produce a core of reusable
assets for supporting the development of similar products. Software
product line techniques were employed for the domain modelling and for
the development of software components.
Page 1179
The third paper entitled "Experimenting
the Automated Selection of COTS Components Based on Cost and System
Requirements" (V. Cortellessa, I. Crnkovic, F. Marinelli and
P. Potena) proposes an approach for selecting components during the
requirements phase in a component-based development process. The DEER
(DEcision support for componEnt-based softwaRe) framework is based on
an optimization model that supports the selection of COTS components
in a context where a significant number of components is available in
the search space. The main challenge of the proposed approach is to
estimate the values of the model's parameters so that the proposed
optimization approach can be applied to the selection activity.
The fourth paper entitled "LIFT: A Legacy
InfFormation Retrieval Tool" (K. Brito, V. Garcia, E. Almeida and
S. Meira) presents a tool for reverse engineering and knowledge
extraction from legacy systems. The requirements for the tool
development were based on the evaluation of existent tools for reverse
engineering. The tool was implemented and applied in an industrial
case study. Its development was then refined based on the feedback
provided by the use of the tool.
The fifth paper entitled "Mismatch Avoidance with Web
Services" (C. Gacek and C. Gamble) defines an architectural style
for Web Services, using the ACME/Armani architecture description
language, together with its associated development environment,
AcmeStudio. Constraints pertaining to web services, such as, the
message exchange patterns that are allowed, are specified formally
using Armani constraints. The paper also presents a small case study
showing how a web service-oriented system can be designed using the
proposed architectural style.
The sixth paper is "CrossMDA: A Model-Driven
Approach for Aspect Management" (M. P. Alves, P. F. Pires,
F. C. Delicato, M. L. M. Campos). A framework based on model driven
development is presented for managing crosscutting concerns during
system development. The proposed approach uses model-based
transformations to perform the weaving among aspects and their related
business elements, which allows the development of completely
independent business and aspect models. The framework, known as
CrossMDA, comprises a development process, a set of services and
supporting tools.
The seventh paper entitled "A Product Derivation Tool
Based on ModelDriven Techniques and Annotations" (E. Cirilo,
U. Kulesza, C. Lucena) introduces a model-driven tool for software
product lines to support automatically the creation of models from
pre-existing code assets, as well as, the instance product derivation
from these models.
Page 1180
The tool generates three types of models using as input source code
with Java annotations: features, architecture and configuration
models. Moreover, it was implemented using the Eclipse platform and a
case study shows the feasibility of the proposed solution. The main
contribution of this article is to provide a practical solution to
derive automatically products from a software product line using
generative programming to facilitate the process of product creation.
The eighth paper is entitled "A Service-oriented
Process to Develop Web Applications" (F. Zaupa, I. Gimenes,
D. Cowan, P. Alencar, C. Lucena). This paper describes an approach
based on product lines and service oriented architectures for
generating Web applications. The approach, whose focus is a process
for generating applications, is presented in the context of an
environment called WIDE-PL. The process defines the stages for
developing services and the rules that map feature models into an
implementation model.
Cecília M.F. Rubira
Rogério de Lemos
March 2008
Page 1181
|