PPOOA provides the following types of components as building block of the architecture,namely:

 

-Algorithmic Component. Algorithmic components or utilities are elements of the architecture

 that perform calculations or transform data from one type to another but separated from

 its structural abstraction .  Data classification components, Unix filters or data processing algorithms typically represent them.

 

-Domain Component. The domain component is an element of the architecture that responds directly to the modeled problem.   This component does not depend on hardware or user interface. Its instances are similar to the classic   object in object oriented design.

 

-Process. The process is a building element of the architecture that implements an activity or group of activities that can be executed at the same time as other processes.  Its execution can be scheduled. The PPOOA vocabulary supports two different types of processes: periodic and aperiodic. Each of them is described in PPOOA profile and their real-time attributes are also considered. 

 

-Structure. A structure is a component that denotes an object or class of objects characterized as an abstract state machine or an abstract data type. Typical examples are: stack, queue, list, ring and others.

 

-Controller Object. The controller object is responsible for initiating and managing directly a group  of activities that can be repetitive, alternative or parallel. These activities can be executed depending on a set of events or conditions. Typically, a controller object receives an event. An event is something that can happen, like a Posix signal, a hardware interrupt or it represents a computed event,  like an airplane entering a conflict volume or an alarm. Where one of these events occurs, the system schedules associated event handlers.

 

Coordination mechanisms are supported also: Semaphore, bounded buffer, mailbox, transporter and rendezvous