error-avoiding adaptors for black-box software components
A lot of work has been done in the area of building component-based systems with correct-by-construction adaptors. This is accomplished by using preexisting specifications of the component behaviour. But what happens when known components get to interact with incompletely specified, black-box components, and errors occur? How can we avoid these errors without modifying existing/legacy components? We present a method to explore and control such systems. Our approach exploits information in correct and erroneous runs to build a controller that ensures our system will avoid observed errors. We consider the behavioural specifications for our known, legacy component as already documented and we infer partial behaviour information of the unknown component by studying its reactions to various interaction scenarios.
component-based systems adaptation model refinement maintenance