11/1/16

Stitie Space & Robot Swarm Concurrency.

Introduction.

One of use cases for 'Ola AH' Programming Language is for coordinating the robot swarms.

While not a language for the Real-Time Systems, 'Ola AH' can handle concurrency for such swarms well enough.


Communication & Leadership Hierarchy Tree.

Assuming that physical objects can fly in space, their coordinates can be transformed to a coordinating system that contains Stitie Space.

Physical objects form task groups under a leader machine, leader machines also form task groups with their own leaders ... up to the coordinating system with the Stitie Space.

Physical objects can communicate wirelessly using directional rays, to avoid the wireless communication collisions with so many objects. Messages reach their leaders, up to the coordinating system with the Stitie Space.


Coordinator - individual synchronization.

Messages from individual machines can reach coordinator machine by following the communication hierarchy tree. Messages are received by CommunicationSynchronizer object, then Stitie Space is updated.

Messages can be sent to the groups of individual machines as well, using the CommunicationSynchronizer object & the wireless communication (either a broadcast, a directional multicast or series of unicasts for example) - target machines know which parts of the code are addressed to them by their identifier.


Decision Precondition Events.

When a task group reaches it's objectives, then event can be fired by CommunicationSynchronizer object, also a SpaceAware machine can check its own coordinates in Stitie Space & fire events as well.

A precondition token is created in the ConcurrencyFlowGraph object as in the 'Token Game' & 'Decision Filters' articles.

With enough of tokens at proper places (for example, when all of the three task groups reach their targets) next decision can proceed.


Clock Deadline Events.

We can have a clock object which produces the clock events, and use these to control behavior of machines by sending messages wirelessly via the CommunicationSynchronizer object, to control the deadlines for individual physical objects.

A clock object can affect the precondition tokens existence in the ConcurrencyFlowGraphObject as well, to affect decisions made that way.

See also if You wish, or need, ... (including comments) : 'Ola AH': a Concurrent or the Real-Time Language?

No comments:

Post a Comment