Note: This is a snapshot of the RobMoSys Wiki as of June 23rd 2017. Live Version for this page.

User Tools

Site Tools


modeling:metamodels:commpattern

Communication-Pattern Metamodel

Communication Patterns specify the communication semantics for the definition of Services.

  • The metamodel of the RobMoSys communication patterns is fully conformed by the SmartSoft communication patterns
  • Thus, at this moment, the semantics of the RobMoSys communication patterns is specified by the according SmartSoft documents (see details below)
  • Therefore, the SmartMDSD Toolchain already now allows to use RobMoSys compliant communication patterns and also is an example of how to realize their metamodel with Ecore

Component Communication Patterns

The four communication patterns (see table below) define the basic set of recurring communication semantics that proved to be sufficient for all robotics use-cases for inter-component communication.

Pattern Name Interaction Model Description
Send Client/Server One way communication
Query Client/Server Two way request/response
Push Publisher/Subscriber 1-n distribution
Event Publisher/Subscriber 1-n asynchronous condition notification

The figure below provides a schematic overview of the communication semantics.

The following list of core references provides detailed descriptions of communication patterns:

  • Christian Schlegel. “Navigation and Execution for Mobile Robots in Dynamic Environments: An Integrated Approach”. Dissertation. University of Ulm, 2004.PDF
  • Christian Schlegel and Alex Lotz, “ACE/SmartSoft - Technical Details and Internals”, in Technical Report 2010/01, Hochschule Ulm, Germany, ISSN 1868-3452, 2010. PDF

Coordination and Configuration Patterns

The four coordination and configuration patterns (see table below) provide recurring semantics that proved to be sufficient for robotics use-cases related to behavior coordination (which requires run-time coordination and configuration of several components in a system from the skill and task level). Therefore, each component in a system should by default implement the slave part of each of the four patterns. In addition, there is typically one specific component per system that implements the master part of the patterns and that is responsible to centrally coordinate the robot behavior (see Robot Behavior Coordination for further details). The SmartTCL language conforms to the RobMoSys composition structures and can be used already now for Robot Behavior Coordination.

Pattern Name Interaction Model Description
Parameter Master/Slave Run-time configuration
State Master/Slave Lifecycle management and mode (de-)activation
Dynamic Wiring Master/Slave Run-time connection re-wiring
Monitoring Master/Slave Run-time monitoring and introspection

Parameter

The Parameter pattern allows run-time configuration of components. The following links provide further details:

State

The state management of a component is one of the central patterns for run-time coordination of components. On the one hand, state management is about the generic lifecycle state-automaton (see figure on the right) that each component implements by default and that allows coordinated handling of the component's start-up and shutdown procedures as well as the component's fatal-error mode. In addition, component's individual run-time modes can be specified as explained in the following reference:

  • Christian Schlegel, Alex Lotz and Andreas Steck, “SmartSoft - The State Management of a Component”, in Technical Report 2011/01, Hochschule Ulm, Germany, ISSN 1868-3452, 2011. PDF

Dynamic Wiring

Dynamic Wiring is used to increase run-time robustness and flexibility by dynamically changing the wiring between components. Additional details can be found here:

  • Christian Schlegel. “Navigation and Execution for Mobile Robots in Dynamic Environments: An Integrated Approach”. Dissertation. University of Ulm, 2004.PDF

Monitoring

Run-time Monitoring and Introspection of components is an important aspect in robotics that requires dedicated interaction mechanisms. The following reference provides details of a concrete realization:

  • Alex Lotz, Andreas Steck, and Christian Schlegel. “Runtime Monitoring of Robotics Software Components: Increasing Robustness of Service Robotic Systems”, in International Conference on Advanced Robotics (ICAR '11), Tallinn, Estonia, June 2011. IEEE-Link

See next:

See also:

modeling:metamodels:commpattern · Last modified: 2019/05/20 10:49
http://www.robmosys.eu/wiki-sn-01/modeling:metamodels:commpattern