Component-Based Software Development: Case Studies

TUOMAS IHM
VTT Electronics, Kaitovayla 1, P.O.Box 1100
FIN-90571 Oulu, Finland
Tuomas.Ihme@vtt.fi
Abstract. This chapter is a literature survey of architecting component software. It focuses on the architectural problems, challenges and proposals faced when utilizing commercial off-the-shelf (COTS) components in COTS-intensive systems, as well as in real-time and embedded systems. It also addresses the more mature architectural area of component-based systems and product lines where the specific characteristics of COTS components have been ignored.
There were several reuse shortcoming in early component systems (Weinreich and Sametinger, 2001). Components at the application level were too coarse-grained for widespread reuse, the component systems lacked composition support, and operating systems lacked domain-specific standards. Operating systems, relational database engines and transaction-processing monitors are among the early successful component systems (Szyperski, 1998), Applications from different vendors often adhere to the same standard defined by an operating system. Operating systems are component model implementations (Weinreich and Sametinger, 2001). An implementation of a component model standard defines the interoperation between components from independent component suppliers in a binary form.
Component-based development has been considered a true revolution on a par with stored-program computers and high-level languages in computing technology during the past fifty years (Maurer, 2000). The consensus today is that component software is the most promising reuse approach (Messerschmitt and Szyperski, 2001), Szyperski identifies the following three sets of arguments in favor of component software (Szyperski, 2000):
Baseline argument: Strategic components are made while non-strategic ones are bought,
Enterprise argument: A core...