Building HPC++ Components

Building an HPC++ component is a matter of implementing the component interface required by the CAT. The CAT must be able to invoke a set of methods on each component. These methods provide information to the CAT and allow the CAT to control the execution of the component.

Many components will implement this interface in much the same way, so a library called the framework has been written to make the construction of a component much easier. The component is dervied from a class called ComponentBase, and the component developer needs only to implement a few methods to describe the behavior of the component when input arrives.

Most components will have at least one port. Ports allow the CAT to connect components so that they may send data to one another. Each port must implement the port interface, so that the CAT can query the status of and add listeners to ports.

The framework library makes it easy for the component developer to add ports to a component. The InputPort<T> and OutputPort<T> templates are used to declare ports of type T, where T is a port type. The component developer reads, writes, and clears the ports using methods provided by port templates.

  • A simple port type: ConcatParams
  • A more complex port type: PortString
  • A simple component: Concat

  • [ IU CS ] [ Extreme! Computing ] [ CAT ] [ CAT Docs]

    Last updated: Thu Jan 28 15:41:13 1999