The actor is the basic building block for building systems with ROOM. An actor can be refined hierarchically and thus can be of arbitrarily large scope. Ports define the interface of an actor.
An ActorClass defines the type (or blueprint) of an actor. Hierarchies are built by ActorClasses that contain ActorReferences which have another ActorClass as type. The interface of an ActorClass is always defined by Ports.

The Behavior of an actor is usually defined by a state machine but could also be defined by manual code or other implementations.
Ports are the only interfaces of actors. A port has always a protocol assigned. Service Access Points (SAP) and Service Provision Points (SPP) are specialized ports that are used to define layering.
These symbols can only appear on the border of an actor class symbol.
![]() |
Class End Port |
![]() |
Conjugated Class End Port |
![]() |
Class Relay Port |
![]() |
Conjugated Class Relay Port |
![]() |
Replicated Class End Port |
![]() |
Conjugated Replicated Class End Port |
![]() |
Replicated Class Relay Port |
![]() |
Conjugated Replicated Class Relay Port |