Virtually all contemporary component models use object oriented method invocation as the foundation of their component composition semantics. However, two objects composed by method invocation do not yield a new object. This produces component models that are not closed under component composition; require complex composition operators; or, often, suffer from both of these deficiencies. Such object oriented component models are based on Abstract Data Types (ADT). In contrast, a simpler model of components and their composition exists that uses the notion of Abstract Behavior Types (ABT) as its foundation [3]. The ABT model supports a much looser coupling than is possible with the ADT model, and is inherently amenable to exogenous coordination. We have argued that both of these are highly desirable, if not essential, properties for models of components and their composition. Furthermore, the composition of two ABTs always yields another ABT, which in this model makes components closed under composition. In this chapter, we describe two concrete formalizations of the notion of Abstract Behavior Types as (1) constraint automata, and (2) relations on timed-data streams. To demonstrate the utility of the ABT model, we describe Reo: an exogenous coordination language for compositional construction of component connectors based on a calculus of channels. We show the expressive power of Reo, and the applicability of the ABT model, through a number of examples.

World Scientific
J. He (Jiyin) , Z. Liu (Zhe)
doi.org/10.1142/9789812772831_0002
Component-Based Development
Computer Security

Arbab, F. (2006). Coordinated Composition of Software Components. In J. He & Z. Liu (Eds.), Mathematical Frameworks for Component Software - Models for Analysis and Synthesis (pp. 35–68). World Scientific. doi:10.1142/9789812772831_0002