language: en

[From the Proceedings of the Second International Conference on Coordination Models and Languages, LNCS 1282, Springer, Berlin, 1997 46]

Checking Assumptions in Component Dynamics at the Architectural Level

Paola Inverardi 1 , Alexander L. Wolf 2 , and Daniel Yankelevich 3
1 Dipartimento di Matematica 2 Department of Computer Science Universita di L'Aquila University of Colorado
I-67010 L'Aquila, Italy Boulder, CO 80309 USA
3 Departmento de Computacion Universidad de Buenos Aires
Buenos Aires, Argentina

Abstract. A critical challenge faced by the developer of a software system is to understand whether the system's components correctly integrate. While type theory has provided substantial help in detecting and preventing errors in mismatched static properties, much work remains in the area of dynamics. In particular, components make assumptions about their behavioral interaction with other components, but currently we have only limited ways in which to state those assumptions and to analyze those assumptions for correctness. We have begun to formulate a method that addresses this problem. The method operates at the architectural level so that behavioral integration errors, such as deadlock, can be revealed early in development. For each component, a specification is given both of its own interaction behavior and of the assumptions that it makes about the interaction behavior of the external context in which it expects to operate. We have defined an algorithm that, given such specifications for a set of components, performs "adequacy" checks between the component context assumptions and the component interaction behaviors. A configuration of a system is possible if and only if a successful way of "matching" actual behaviors with assumptions can be found. In effect, we are extending the usual no tion of type checking to include the checking of behavioral compatibility.

1 Introduction