Design

The input to the design phase is the CIM. The output is the PIM, the platform-independent or design model of the system. This model describes the internal structure of the system as a network of components.

Externally, components implement some interfaces and require other interfaces to be implemented for them. Components C1 and C2 are connected if C1 implements an interface, I, required by C2. Here is a UML component diagram describing this situation:

As the PIM is refined, the internal views of the components are elaborated, either as networks of subcomponents or as collaborations.

A collaboration is a set of classes that work together to implement the component's interfaces. Typically, a collaboration would be described using a UML class diagram: