Engineering components for ease of customisation and evolution

@article{Jarzabek2000EngineeringCF,
  title={Engineering components for ease of customisation and evolution},
  author={Stan Jarzabek and Rudolph E. Seviora},
  journal={IEE Proc. Softw.},
  year={2000},
  volume={147},
  pages={237-248}
}
Building software systems from prefabricated components is a very attractive vision. Distributed component platforms (DCP) and their visual development environments bring this vision closer. However, some experiences with component libraries warn us about potential problems that arise when software-system families or systems evolve over many years of changes. Indeed, implementation-level components, when affected by many independent changes, tend to grow in both size and number, impeding reuse… 

Figures and Tables from this paper

Software evolution with CVS : an experiment and some general implications

TLDR
This paper outlines an alternative approach to software evolution, in which rather than storing versions of concrete components, the knowledge of how to obtain required component versions and their configurations from generic meta-components is stored.

Capturing Timeline Variability with Transparent Configuration Environments 1.3 Principal Investigator

TLDR
The goal of this project is to study the modeling and realization of variability in modern software systems with an emphasis on a more general and generic treatment of timing-issues for variant addition/removal and binding of variation points, the related effects and the opportunities for optimization.

Flexible components with frame technology: a case study

  • S. Jarzabek
  • Computer Science
    Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey
  • 2001
TLDR
This paper shows how frame technology and concepts of flexible manufacturing can be effectively applied to component systems written in Java.

The Testing Method for Interface Customized Component

TLDR
An extended component interface specification model is proposed to support the component customization and testing and the results have shown that the customization mechanism and testing reuse principles can support the testing of interface customized components.

Variability with Transparent Configura tion Environments

TLDR
This paper proposes to formalize vari ability into a feature model that takes timeline issues into account and to derive from such feature models configuration interfaces that abstract over the life-cycle.

XVCL: XML-based variant configuration language

TLDR
XVCL (XML-based Variant Configuration Language) is a meta-programming technique and tool that provides effective reuse mechanisms that blends with contemporary programming paradigms and complements other design techniques.

Code Component Reuse Supporting Environment (CCRSE) and its design strategy

TLDR
The key achievement of this paper is giving the three strategies that are vital to successfully design CCRSE, which strictly restrict code component specification, provide the strong “plug and play” support for code component composition reuse, and furthest provide transparence to strictly restricted specification of code component in development of component itself.

Capturing Timeline Variability with Transparent Configuration Environments

TLDR
This paper proposes to formalize variability into a feature model that takes timeline issues into account and to derive from such feature models configuration interfaces that abstract over the life-cycle.

Chapter 8 Step-by-step introduction to XVCL Summary

TLDR
Mixed-strategy supports generic design and enhances software changeability and genericity, which matters in maintenance and reuse, and there is no difference between maintainability and reusability.

XML-based method and tool for handling variant requirements in domain models

  • S. JarzabekHongyu Zhang
  • Computer Science
    Proceedings Fifth IEEE International Symposium on Requirements Engineering
  • 2001
TLDR
A novel solution based on a tool that interprets and manipulates domain models to provide analysts with customized, simple domain views is proposed and a variant configuration language is described that allows us to instrument domain models with variation points and record variant dependencies.

References

SHOWING 1-10 OF 41 REFERENCES

Synergy between component-based and generative approaches

TLDR
A program construction environment, based on generative techniques, to help in customization and evolution of component-based systems and allows developers to reap benefits of DCPs during runtime and, at the same time, keep components under control during system construction and evolution.

Frame-based method for customizing generic software architectures

TLDR
The overall objective of the work described in this paper is to create formal links between requirements for system families and the process of customizing a generic architecture during architecture-based system engineering.

The Emergence of Distributed Component Platforms

TLDR
The state of component software as embodied in DCPs is reviewed, which shows the two DCP market leaders are Microsoft's DCOM (or ActiveX/DCOM) and Sun's JavaBeans, but Internet and OMG component standards are emerging that will likely impact both the content and status of these two DCPs.

Using objects for systems analysis

TLDR
It is argued that improper adaptation of programming concepts has impeded the successful application of object-oriented systems analysis and drawing on distinctive models of representation leads to a clearer understanding of various aspects of the OO approach.

Parameterized Programming

  • J. Goguen
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1984
TLDR
Three new ideas that seem especially useful in supporting parameterized programming are introduced: theories, which declare global properties of program modules and interfaces; views, which connect theories with program modules in an elegant way; and module expressions, a kind of general structured program transformation which produces new modules by modifying and combining existing modules.

Research directions in software composition

TLDR
A certain amount of success has been achieved in some well-understood application domains, as witnessed by the popularity of user-interface toolkits, fourth generation languages and application generators.

Frameworks = (components + patterns)

nition we use most is “a framework is a reusable design of all or part of a system that is represented by a set of abstract classes and the way their instances interact.” Another common definition is

Object-oriented application frameworks

TLDR
Object-oriented (OO) application frameworks are a promising technology for reifying proven software designs and implementations in order to reduce the cost and improve the quality of software.

PuLSE: a methodology to develop software product lines

TLDR
The PuLSETM (Product Line Software Engineering) methodology is developed for the purpose of enabling the conception and deployment of software product lines within a large variety of enterprise contexts and captures and leverages the results from the technology transfer activities with industrial customers.

On the Design and Development of Program Families

  • D. Parnas
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1976
TLDR
A conventional approach called "sequential development" is compared to "stepwise refinement" and "specification of information hiding modules" and it is demonstrated that the two methods are based on the same concepts but bring complementary advantages.