db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%T Formal Contracts: Enabling Component Composition
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%A Marcel Boosten
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%E Jan F. Broenink, Gerald H. Hilderink
%B Communicating Process Architectures 2003
%X Traditional component interaction is based on interface
calls and callbacks. Such interaction can introduce
integration faults, i.e., side effects at the moment of
component integration. Solutions to such problems can be
hard to apply, and may require drastic changes in the design
of the involved components. This paper introduces Formal
Contracts, a software construct that allows side\-effect
free component interaction, and thereby avoids the
introduction of integration faults. Furthermore, via a state
machine representing the inter\-component contract, Formal
Contracts, in addition to the static aspects, formally
specify the dynamic aspects of component interaction. Formal
Contracts are a pragmatic software mechanism that supports
the full development cycle: from the specification and
decomposition until the debugging, composition, and test of
a system.