On components and objects: the foundations of component-based development

The move to component-based development (CBD) is driven by a number of important requirements with respect to the agile assembly of application systems from pre-developed parts. However, to make CBD a reality requires a deeper understanding of the fundamental concepts of CBD and how those concepts can be embodied in tools and techniques. The most basic questions are in respect to what constitutes a component, how appropriate components can be found, and how to assemble components when building an application system. This paper addresses these questions and makes the case for more rigorous descriptions of component behaviors through the use of domain and specification models which allow interfaces and implementations of components to be more easily understood, analyzed and combined.

[1]  Alan W. Brown,et al.  Engineering of component-based systems , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[2]  Lui Sha,et al.  Evolving dependable real-time systems , 1996, 1996 IEEE Aerospace Applications Conference. Proceedings.

[3]  Victor Yodaiken,et al.  Dependable Real-Time Systems , 1991 .

[4]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[5]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.