DocumentCode :
1458966
Title :
Engineering components for ease of customisation and evolution
Author :
Jarzabek, S. ; Seviora, R.
Author_Institution :
Dept. of Comput. Sci., Nat. Univ. of Singapore, Singapore
Volume :
147
Issue :
6
fYear :
2000
fDate :
6/22/1905 12:00:00 AM
Firstpage :
237
Lastpage :
248
Abstract :
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. This unwanted effect is analysed in detail. It is argued that components affected by frequent unexpected changes require higher levels of flexibility than the `plug-and-play´ paradigm is able to provide. A program construction environment is proposed, based on generative programming techniques, to help in customisation and evolution of components that require much flexibility. This solution allows the benefits of DCPs to be reaped during runtime and, at the same time, keeps components under control during system construction and evolution. Salient features of a construction environment for component based systems are discussed. Its implementation with commercial reuse technology FusionTM is described. The main lesson learnt from the project is that generative-programming techniques can extend the strengths of the component based approach in two important ways: 1) generative-programming techniques automate routine component customisation and composition tasks and allow developers work more productively, at a higher abstraction level; 2) as custom components with required properties are generated on demand, it is not necessary to store and manage multiple versions of components
Keywords :
configuration management; distributed object management; management of change; software reusability; DCPs; Fusion; abstraction level; commercial reuse technology; component based approach; component based systems; component engineering; component libraries; construction environment; custom components; distributed component platforms; generative programming techniques; generative-programming techniques; implementation-level components; independent changes; prefabricated components; program construction environment; routine component customisation; software systems; software-system families; system construction; visual development environments;
fLanguage :
English
Journal_Title :
Software, IEE Proceedings -
Publisher :
iet
ISSN :
1462-5970
Type :
jour
DOI :
10.1049/ip-sen:20000914
Filename :
912378
Link To Document :
بازگشت