Behaviour-Data Relations Modeling Language



BDRML version 1.0


Designing and representing control algorithms for multi-agent systems is challenging. The collective performance depends on interactions between a system's components, such as software agents or robots, and with their environment. The currently available modeling languages, such as UML, cannot fully express these interactions. The Behaviour-Data Relations Modeling Language (BDRML):

  • Describes agent behaviours, not states.
    • E.g. defines a "Work" behaviour versus a "Worker" state
    • It can therefore model finite-state machines, neural network controllers, behaviour-based controllers, etc.
  • Represents both behaviours and data as primitives, so they can relate to each other. This allows BDRML to:
    • Explicitly represent what information is communicated and where it is stored
    • Combine the capabilities of statecharts and class diagrams (that describe control algorithms) and of sequence charts (that describe communication)
  • Allows to specify relations between behaviours and data external to an agent’s memory
    • It can therefore represent communication between agents and interactions with their environment

Consider the example below, where a collective task allocation robot control algorithm is represented in the form of (a) statechart, (b) class diagram, (c) sequence chart. A robot searches the environment as a "Scout" and becomes a "Worker" upon finding a worksite, where reward is located. A Worker extracts reward from the worksite (for example, it performs an inspection task or helps a customer nearby), while broadcasting recruitment signals to Scouts that are close. Any Scout that is recruited becomes a Worker as well. A Worker resumes scouting when its worksite is depleted.

(a) statechart, (b) class diagram, (c) sequence chart

In relation to swarm control algorithms, these representations suffer from two of problems:

  • Data is not represented explicitly, making it difficult to express where information is stored or how it is operated on
  • It is not possible to represent relationships between behaviours and data of multiple different robots

A BDRML diagram On the other hand, a BDRML diagram of the same algorithm would look like the picture on the right. Recruitment is represented explicitely via:

  • The Send relation between "Work" and "Worksite location". This makes it clear what data is sent and what behaviour a recruiter is executing while sending the data
  • The conditional transition between "Scout" and "Work". This makes it clear when a robot can get recruited

See more examples