BCOOPL: A language for controlling component interactions. This paper introduces BCOOPL, which stands for Basic Concurrent Object-Oriented Programming Language. BCOOPL was designed to support component-based development. In particular, it focuses on the specification of weakly-coupled components and the specification of interaction sequences between them. BCOOPL supports two design patterns directly. The built-in observer design pattern encourages the construction of weakly-coupled components. Its support for the mediator design pattern allows to govern the interactions between those components. These language features cater for the design and implementation of flexible systems in which specifications of individual component behavior is separated from specifications of component interactions. A high level overview of BCOOPL’s key concepts is given, which are exemplified by means of a process control example.