Catálogo de publicaciones - libros
Reuse of Off-the-Shelf Components: 9th International Conference on Software Reuse, ICSR 2006, Torino, Italy, June 12-15, 2006, Proceedings
Maurizio Morisio (eds.)
En conferencia: 9º International Conference on Software Reuse (ICSR) . Turin, Italy . June 12, 2006 - June 15, 2006
Resumen/Descripción – provisto por la editorial
No disponible.
Palabras clave – provistas por la editorial
Software Engineering/Programming and Operating Systems; Software Engineering; Management of Computing and Information Systems; Programming Techniques
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-34606-7
ISBN electrónico
978-3-540-34607-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/11763864_21
Does Refactoring Improve Reusability?
Raimund Moser; Alberto Sillitti; Pekka Abrahamsson; Giancarlo Succi
The improvement of the software development process through the development and utilization of high quality and reusable software components has been advocated for a long time. Agile Methods promote some interesting practices, in particular the practice of refactoring, which are supposed to improve understandability and maintainability of source code. In this research we analyze if refactoring promotes ad-hoc reuse of object-oriented classes by improving internal quality metrics. We conduct a case study in a close-to industrial, agile environment in order to analyze the impact of refactoring on internal quality metrics of source code. Our findings sustain the hypothesis that refactoring enhances quality and reusability of – otherwise hard to reuse – classes in an agile development environment. Given such promising results, additional experimentation is required to validate and generalize the results of this work.
Palabras clave: Software Reuse; Code Quality; User Story; Agile Method; Candidate Class.
- Approaches and Models | Pp. 287-297
doi: 10.1007/11763864_22
Using the Web as a Reuse Repository
Oliver Hummel; Colin Atkinson
Software reuse is widely recognized as an effective way of increasing the quality of software systems whilst lowering the effort and time involved in their development. Although most of the basic techniques for software retrieval have been around for a while, third party reuse is still largely a “hit and miss” affair and the promise of large case component marketplaces has so far failed to materialize. One of the key obstacles to systematic reuse has traditionally been the set up and maintenance of up-to-date software repositories. However, the rise of the World Wide Web as a general information repository holds the potential to solve this problem and give rise to a truly ubiquitous library of (open source) software components. This paper surveys reuse repositories on the Web and estimates the amount of software currently available in them. We also briefly discuss how this software can be harvested by means of general purpose web search engines and demonstrate the effectiveness of our implementation of this approach by applying it to reuse examples presented in earlier literature.
Palabras clave: Search Engine; Code Unit; Software Product Line; Greatest Common Divisor; Software Repository.
- Approaches and Models | Pp. 298-311
doi: 10.1007/11763864_23
A UML2 Profile for Reusable and Verifiable Software Components for Real-Time Applications
V. Cechticky; M. Egli; A. Pasetti; O. Rohlik; T. Vardanega
Software frameworks offer sets of reusable and adaptable compo-nents embedded within an architecture optimized for a given target domain. This paper introduces an approach to the design of software frameworks for real-time applications. Real-Time applications are characterized by functional and non-functional (e.g. timing) requirements. The proposed approach separates the treatment of these two aspects. For functional issues, it defines an extensible state machine concept to define components that encapsulate functional behaviour and offer adaptation mechanisms to extend this behaviour which warrant preservation of the functional properties that characterize the framework. For timing issues, it defines software structures that are provably endowed with specific timing properties and which encapsulate functional activity in a way that warrants their enforcement. A UML2 profile is defined that formally captures both aspects and allows the proposed strategy to be deployed at design level.
Palabras clave: State Machine; Software Framework; UML2 Class Diagram; State Chart; Framework Component.
- Components | Pp. 312-325
doi: 10.1007/11763864_24
Formalizing MDA Components
Liliana Favre; Liliana Martinez
The Model Driven Architecture (MDA) promotes the use of models and model transformations for developing software systems. The idea behind MDA is to manage the evolution from Platform Independent Models to Platform Specific Models that can be used to generate executable components and applications. The concepts of metamodels and metamodel-based model transformations are critical in MDA. In this paper, we propose a metamodeling technique to reach a high level of reusability and adaptability of MDA components. In particular, we analyze how to define reusable components for the standard design patterns in a way that fits MDA very closely. To define families of reusable components we describe a “megamodel” that refers to metamodels and model transformations organized into an architectural framework. We propose a “megamodel” formalization that focuses on interoperability of formal languages in Model Driven Development (MDD).
Palabras clave: Model Transformation; Design Pattern; Object Management Group; Reusable Component; Model Drive Development.
- Components | Pp. 326-339
doi: 10.1007/11763864_25
A Component-Oriented Substitution Model
Bart George; Régis Fleurquin; Salah Sadou
One of Software Engineering’s main goals is to build complex applications in a simple way. For that, software components must be described by its functional and non-functional properties. Then, the problem is to know which component satisfies a specific need in a specific composition context, during software conception or maintenance. We state that this is a substitution problem in any of the two cases. From this statement, we propose a need-aware substitution model that takes into account functional and non-functional properties.
Palabras clave: Quality Model; Software Component; Ideal Component; Software Reuse; Candidate Component.
- Components | Pp. 340-353
doi: 10.1007/11763864_26
Building Reflective Mobile Middleware Framework on Top of the OSGi Platform
Gábor Paller
The literature on mobile middleware is extensive. Numerous aspects of the mobility’s effect on middleware have been analysed and the amount of previous work allowed to identify the most important patterns. Although the notion of “most important middleware” depends on the application supported by the middleware, there are traits that can be discovered in most of the connected mobile applications. Based on the experience of several authors, these traits are context-awareness, reflectivity, support for off-line operation and asynchronous (message-based) communication. This paper presents a mobile middleware system built to support these patterns and demonstrates, how the OSGi service platform can be used to realize these patterns. It will be demonstrated that although OSGi was built to support manageability requirements, the resulting platform is suitable for implementing the 4 major middleware patterns too. The paper presents the components of this context-aware, reflective middleware framework and evaluates its footprint.
Palabras clave: Component Network; Context Element; Queue Manager; Tuple Space; Remote Procedure Call.
- Components | Pp. 354-367
doi: 10.1007/11763864_27
Goal-Oriented Performance Analysis of Reusable Software Components
Ronny Kolb; Dharmalingam Ganesan; Dirk Muthig; Masanori Kagino; Hideharu Teranishi
To establish software reuse successfully in the long run, it is crucial for providers of reusable components to continuously react on problems or future trends arising around their component. In practice, however, many providers of reusable components are not able to do so due to insufficient feedback and details from reusers. Additionally, they often have too little knowledge on system context and constraints that may lead to major deficits of the reusable component especially with respect to non-functional aspects. This paper presents an approach for systematically engineering performance of reusable components that has been validated in an industrial context.
Palabras clave: Software Product Line; Usage Scenario; User Interface Component; Product Team; Reusable Component.
- Components | Pp. 368-381
doi: 10.1007/11763864_28
Establishing Extra Organizational Reuse Capabilities
Markus Voss
Component-based software engineering (CBSE) for companies active in custom solutions development is far from being reality. To make progress more industrial research as well as accordant technology management is needed. In this contribution we introduce a classification of components in terms of component’s scale and in terms of functional vs. technical concerns. From this basis we argue that only some areas of software reuse promise substantial growth in delivery efficiency and show how this is related to the extra organizational reuse approach.
- Short Papers | Pp. 382-385
doi: 10.1007/11763864_29
Incremental Software Reuse
Juan Llorens; José M. Fuentes; Ruben Prieto-Diaz; Hernán Astudillo
Current reuse techniques disincentive their mass practice in software development organizations because of their large initial investments, the changes they required in ways of developing software, and their fragility in front of domain evolutions. We argue that the root of these problems is the poor resolution of retrieval techniques to identify candidate artifacts to utilize in new projects. We sketch an approach to reuse based on artifacts retrieval by content, which allows incremental adoption at low cost. The Incremental Reuse Method (IRM), founded on these principles, can solve the big problems of traditional reuse, allowing their application in all manner of organizations.
Palabras clave: Class Diagram; Software Development Process; Software Reuse; Domain Evolution; Reuse Process.
- Short Papers | Pp. 386-389
doi: 10.1007/11763864_30
Variability in Goal-Oriented Domain Requirements
Farida Semmak; Joël Brunet
The aim of the paper is to present a framework to contribute to the improvement of requirements elicitation by reusing domain models. In our approach, a domain model gathers goals organized in goal hierarchies associated with domain rules and materialized in conceptual fragments. A conceptual fragment represents an abstract view of the specification allowing the realization of a given goal. To construct a system, the designer will extract requirements from the domain model and adapt the obtained conceptual fragments to the context of the system. Two principles are used to represent domain models: abstraction, which allows the description of common properties of a given domain, and variability, which allows the description of discriminatory properties of the domain. In our approach, variability is applied on the three levels: goal, domain rule and conceptual fragment.
- Short Papers | Pp. 390-394