Enabling Predictable Assembly
Software Engineering Institute
DOI (Digital Object Identifier)10.1184/R1/6573461.v1
Demands for increased functionality, better quality, and faster time-to-market in software products continue to increase. Component-based development is the software industry’s response to these demands. The industry has developed technologies such as EJB and CORBA to assemble components that are created in isolation. Component technologies available today allow designers to plug components together, but do little to allow the developer to reason about how well they will play together. Predictable assembly focuses on issues related to assembling component-based systems that predictably meet their quality attribute requirements. This paper introduces prediction-enabled component technology (PECT) as a means of packaging predictable assembly as a deployable product. A PECT is the integration of a component technology with one or more analysis technologies. Analysis technologies support prediction of assembly properties and also identify required component properties and their certifiable descriptions. This report describes the major structures of a PECT. It then discusses the means of validating the predictive powers of a PECT, which provides measurably bounded trust in design-time predictions. Last, it demonstrates the above concepts in an illustrative model problem: predicting average end-to-end latency of a ‘soft’ real time application built from off-the-shelf software components.