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