Item Details

Reconciling Behavioral Mismatch Through Component Restriction

Marchukov, Mark; Sullivan, Kevin
Marchukov, Mark
Sullivan, Kevin
In component-based software development there are often mismatches between system-level requirements and component behaviors. In general, bridging such mismatches requires mutual adaptation of system requirements and components. One kind of mismatch occurs when components permit behaviors that are not permitted by the system-level requirements. We identify restriction, the disabling of component behaviors, as an important way to bridge such mismatches. Unlike extension, which is well studied, restriction has received little attention. We present a model for reasoning about requirements for restriction, and a corresponding technique for implementing restriction, based on matching of partial models of component behaviors against state-machine-based partial system specifications. Our approach respects several difficulties in component-based development: (a) behaviorally complex components, (b) poorly documented component specifications, (c) inability to change core component implementations, and (d) a general lack of built-in restriction mechanisms in practice. To address these difficulties we use lightweight incremental specification of component operations, obtained by reverse-engineering, and external adaptors that adjust the behaviors of components by manipulating their input streams. We describe our experience using this approach to restrict shrink-wrapped package components in the Galileo fault-tree analysis tool.
Date Received
University of Virginia, Department of Computer Science, 1999
Published Date
Libra Open Repository
Logo for In CopyrightIn Copyright


Access Online