FAQ-080713-2

From RTSC-Pedia

Jump to: navigation, search
revision tip
—— LANDSCAPE orientation
[printable version]  [offline version]offline version generated on 18-Nov-2017 00:11 UTC

FAQ-080713-2

What are the essential features/benefits of components in general

Whether we're talking about software, hardware, cars, or home-entertainment, the rationale for engineering these systems using a component-oriented approach remains the same—managing change. And while re-using existing components in novel ways is certainly an upside benefit, our ability to simply swap-out component S for an alternate (and perhaps new-and-improved) component S′ with minimal impact on the overall system remains fundamental. This level of extreme modularity becomes critical throughout the system life-cycle, from when requirements change during initial development to when products must evolve once in the customer's hands.

image:RhetoricalRTSC-Fig1.png

To achieve this highly-desirable property of interchangeability, the experts teach us that any component-oriented methodology requires three fundamental capabilities: 1) the ability to specify components; 2) the ability to deliver components; and 3) the ability to assemble components.

Specifying components.  Simply put, you can't replace S with S′ if you don't know what S is. Through an appropriate mixture of formal language and informal commentary, we must explicitly specify the boundaries of each component—its inputs, outputs, and operating characteristics captured as a formal contract between a component's supplier and its clients.

Delivering components.  Component-based systems encourage highly distributed modes of development, with suppliers and clients often separated by time and distance. To efficiently reach their clients, suppliers must rely on some form of standardized container into which they can deposit and deliver components. From the client's perspective, receiving components from different suppliers that are uniformly "boxed-and-labeled" streamlines inventory management and system integration.

Assembling components.  At the end of the day, components exist to be composed with one another. We simply expect components to easily "snap-together" using only basic tools, whether replacing elements of an existing system or else assembling a new system using existing components. Here too, standardization plays a key role in streamlining the overall process.

[printable version]  [offline version]offline version generated on 18-Nov-2017 00:11 UTC
Copyright © 2008 The Eclipse Foundation. All Rights Reserved
Personal tools
package reference