Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Publications and References: Component Technology

Volume II: Technical Concepts of Component-Based Software Engineering (2000)
Felix Bachmann, Len Bass, Charles Buhman, Santiago Comella-Dorda, Fred Long, John Robert, Robert Seacord, & Kurt Wallnau

This is essential background reading on component technology. It isn't too deep or too technical, and, although we have since modified some of our terminology, it is still quite good as background on what we mean by “component technology” and its current limits.

Volume I: Market Assessment of Component-Based Software Engineering Assessments (2000)
Len Bass, Charles Buhman, Santiago Comella-Dorda, Fred Long John Robert, Robert Seacord, & Kurt Wallnau

Reports on and abstracts what industry analysts were saying about the adoption of software component technology. Also includes survey results. Now somewhat dated, this was written by non marketing-types, so caveat emptor.

Using Containers to Enforce Smart Constraints for Performance in Industrial Systems (2005)
Scott A. Hissam, Gabriel A. Moreno, & Kurt C. Wallnau

This technical note shows how smart constraints can be embedded in software infrastructure by using containers, so that systems conforming to those constraints are predictable by construction. The use of containers is shown in the context of a model problem in the domain of industrial robotics.

Pin Component Technology (V1.0) and Its C Interface (2005)
Scott Hissam, James Ivers, Daniel Plakosh, Kurt Wallnau

Pin is a basic, simple component technology suitable for building embedded software applications. Pin is a component technology for pure assembly—systems are assembled by selecting components and connecting their interfaces. This report describes the main concepts of Pin and documents the C-language interface to Pin V1.0.

Creating Custom Containers with Generative Techniques (2006)
Gabriel Moreno

This paper shows how generative programming techniques, using AspectC++ and metaprogramming, can be used to generate custom stubs and skeletons in component containers without the need for special compilers or interface description languages. It also describes an approach to create custom containers by composing different non-functional features.

Builder's Guide for WaterBeans Components (1999)
Daniel Plakosh, Dennis Smith, & Kurt Wallnau

WaterBeans is a proof-of-feasibility system for building software applications through a process of assembling (composing) prefabricated software components. WaterBeans was originally developed as a proof of feasibility that software component technology could be used to develop software applications in the domain of water-quality modeling.

Volume III: A Technology for Predictable Assembly from Certifiable Components (2003)
Kurt C. Wallnau

This describes in some detail the theory of Prediction Enabled Component Technology (PECT). It is a bit more technical and theoretical than Volume II but still accessible to a technical audience. It is the foundation report on PECT.

On the Relationship of Software Architecture to Software Component Technology (2001)
Kurt Wallnau, Judith Stafford, Scott Hissam, & Mark Klein

This paper outlines our early thinking on how architectural design patterns could be incorporated into component models. The terminology is now dated but the ideas are still relevant, and the only illustrations of PACC concepts that explicitly address the question of predictability of properties related to information security.