Skip to Content

Role Oriented Adaptive Design

HomeDownload ROADSource RepositoryProject MembersPublicationsImplementations


ROADfactory is a Java library that instantiates self-managed composites(SMC) designed according to ROAD meta-model. The library uses a declarative XML description to create runtime ROAD composites that can be used in Java programs or deployed in other containers (e.g.ROAD4WS). The XML description file is designed to be created using ROADdesigner but this is not a requirement.

ROADfactory relies on a number of open source tools, most notably JBoss Rules (or Drools), JAXB, and in the most recent version, Javassist.

Figure 1. Initiating a ROAD SMC with ROADfactory
Figure 1. Initiating a ROAD SMC with ROADfactory

ROAD Meta-model

Figure 2. ROAD Meta-model
Figure 2. ROAD Meta-model

In ROAD, software applications are viewed as organisations — goal-driven networks of roles bound together by contracts. There is a clear separation of roles from the entities that play those roles. Roles can be played by various players (objects, components, services, agents, human operators, etc.) Contracts associate two roles. They also monitor and regulate interactions between the roles. All runtime communication between functional players bound to the organisation is via contracted roles.They define what interactions are permissible or required by the participant roles, and can be used to enforce sequences of interactions. Contracts can also be used to set arbitrary performance conditions on the roles' interactions, and monitor those interactions for compliance to those conditions. Contracts thus encapsulate both the coordination and the performance management of interactions.Organisers create and destroy roles. They make and break the bindings between organisational roles and players (player selection), and create and revoke the contracts between the roles. Each organiser is responsible for the configuration of a set of roles and contracts. We call such configurations self-managed composites. A role-based organisation is built from a recursive structure of self-managed composites. This structure is coordinated through a network that connects the organiser roles of each of the composites. The network of organiser roles and the contracts they control constitute a regulatory management-system.


Please visit our download page to get ROAD binaries, source code, and documentation distributions.

Useful Links


Malinda Kapuruge