Recent approaches to component-based software engineering employ coordinat- ing connectors to compose components into software systems. For maximum flexibility and reuse such connectors can themselves be composed, resulting in an expressive calculus of connectors whose semantics encompasses complex com- binations of synchronisation, mutual exclusion, non-deterministic choice and state-dependent behaviour. To increase the expressiveness of connectors notions of context-dependent behaviour have been proposed. Context dependency can be used can express notions of priority of one behaviour over another and the inhibition of actions due to changing context. The notion of context we consider in this paper is given by the pending activities on the ports of a connector. Context dependent behaviour occurs whenever the choices available to a connector change non- monotonically as its context changes. Capturing context-dependent behaviour in formal models is non-trivial, as it is unclear how to propagate context information through composition. In this paper we present an intuitive automata-based formal model of context- dependent connectors, and argue that it is superior to previous attempts at such a model for the coordination language Reo.
North-Holland
Science of Computer Programming
Computer Security

Bonsangue, M., Clarke, D., & Silva, A. (2010). A Model of Context-Dependent Component Connectors. Science of Computer Programming.