We describe the implementation of a technology that achieves system-wide pr
operties in large software systems by controlling and modifying inter-compo
nent communications. Traditional component-based applications intermix the
code for component functionality with support for systematic properties. Th
is produces non-reusable components and inflexible systems. The Object Infr
astructure Framework (OIF) separates systematic properties from functional
code and provides a mechanism for weaving them together with functional com
ponents. This allows a much richer variety of component reuse and system ev
olution. Key elements of this technology include intercepting inter-compone
nt communications with discrete, dynamically configurable "injectors", anno
tating communications and processes with additional meta-information. and a
high-level, declarative specification language for describing the mapping
between desired system properties and services that achieve these propertie
s. We have implemented these ideas in a CORBA/Java framework for distribute
d computing, and are currently applying them to a distributed system for th
e analysis of aerospace design (wind-tunnel and CFD) data. (C) 2000 Elsevie
r Science Ltd. All rights reserved.