Abstract. We present the tool Ticc (Tool for Interface Compatibility and Composition). In Ticc, a component interface describes both the behavior of a component, and the component's assumptions on the environment's behavior. Ticc can check the compatibility of such interfaces, and analyze their emergent behavior, via a symbolic implementation of game-theoretic algorithms.
OverviewOpen systems are systems whose behavior is jointly determined by their internal structure, and by the inputs that they receive from their environment. In previous work, it has been argued that games constitute a natural model for open systems [1,6,7,4,2]. We use games to represent the interaction between the behavior originating within a component, and the behavior originating from the component's environment. In particular, we model components as Input-Output games: the moves of Input represent the behavior the component can accept from the environment, while the moves of Output represent the behavior the component can generate.Unlike component models based on transition systems, models based on games provide a notion of compatibility [6,7,4]. When two components P and Q are composed, we can check whether the output behavior of P satisfies the input requirements of Q, and vice-versa. However, we do not define P and Q to be compatible only if their input requirements are always satisfied. Rather, we recognize that the output behavior of P and Q can still be influenced by their residual interaction with the environment (unless the composition of P and Q is closed). Thus, we define P and Q to be compatible if there is some environment under which their input assumptions are mutually satisfied, and we associate with their composition P Q the weakest (most general) assumptions about the environment that guarantee mutual compatibility. In game-theoretic terms, P