Skip to content

Graphical notation

The introduced graphical notation tries to describe the different PyMAPE entities (Loop, Element, Stream, Knowledge, operators, etc), their connections and interactions. It also add expressiveness to describe the loop distribution on different devices.

You'll recognize something from UML, BPMN and Weyns's notation.

Entities

Graphical notation: entities

The Knowledge can have different scope: App, Level and Loop.

Graphical notation: k

When you have multiple instance of the same object/device, can be used the placeholder {var}, parametrizing the element uid.

Graphical notation: multiple instance

In this particular case, we have many loops with uid tank_{name} (eg. tank_foo), with inside a monitor element (eg. foo_level).

Connections

The local and remote communication is described in the next figure. It allows intra and extra loop communication.

Graphical notation: connection

The Connection lines can be also used to represent the cardinality of entities. The Remote/Routed Message are existent connections, but not defined in the source code. This happens using source/sink as the Network stream communication and/or the _Connection operator.

In the last image you can see a simple instance where the planner uses the Router (dispatching the items to the executers) and Group & Pipe (group item by a condition and apply some pipe operators). There is also a Call Method link in the planner.

Graphical notation: connection example