ROMAS

Regulated Open Multiagent Systems

Documentation

ROMAS tool is a CASE tool based on the ROMAS methodology and metamodel. It follows the MDA standard and is implemented using the Eclipse technology. This tool provides a graphical editor for each view of the ROMAS metamodel and integrates all these views in a unique ecore file.

The architecture and use of this tool is described below:

  1. Model: Analyze and design the system
    First the system is analyzed and designed following the development process specified by the ROMAS methodology. During the phases of the methodology a set of diagrams that are instances of the ROMAS metamodel are generated. These diagrams are represented graphically by means of the ROMAS modeling tool. This tool consists of several Eclipse plug-ins that offer several graphical editors (one for each view of the ROMAS metamodel).
    The entire information detailed in the different diagrams is saved in a single ecore model. Therefore, all the diagrams of the same model are connected, and designers can navigate from one view to another by clicking on the main entity of the diagram. In this way, a system modeled with the ROMAS tool consists of a single ecore model and a set of graphical diagrams that have been developed with different graphical environments.
  1. Verification of the model
    This step of the process consists of verifying the correctness, completeness, and coherence of the designed model. Although the modeling tool restricts the model to the syntax that is defined in the metamodel, many conflicts such as the coherence between agents' goals and the goals of their organization can arise. The current version of the ROMAS tool deals with the conflicts related to the incoherences between the designed contract templates and the organizational norms. Model-checking techniques are used to verify the models.
  1. Generate the code for the execution platform.
    Finally, the models generated by the ROMAS modeling tool can be translated into executable code. Currently there is an ongoing work to create an automatic code generation plug-in for the Thomas platform. Unfortunately, at the moment, it is not publicly available.