Stefan Bosse
University of Koblenz-Landau, Fac. Computer Science, Germany
10.9.2018
sbosse@uni-bremen.de |
Self-organizing energy management and distribution in autonomous and self-powered Sensor Networks, the IoT, and Smart Energy Grids
Mobile Multi-agent Systems that are capable to transfer (virtually carry) energy between networks nodes with Divide-and-Conquer approach
Sensor and computer nodes connected by shared data-energy links (i.e., transferring data and energy over a wired or wireless link)
Global emergence behaviour of self-organizing energy management agents
Simulation of a mesh-grid Sensor Network using the SEJAM2 simulator
Smart Energy Grid
| Smart Sensor Networks
|
Definition 1.
A network is a graph consisting of autonomous nodes and edges connecting nodes (communication channels).
Simplification: Although arbitrary network topologies are supported, this works assumes three-dimensional mesh-grid networks
Each node can be connected with up to six neighbouring nodes:
Channels. Nodes can exchange data with their neighbours by using some kind of serial communication links.
A communication link can be used for the:
There are different kinds of physical transmission technologies differing in data bandwidth B, latency τ, and energy capability and transmission efficiency ε:
Issue: Each time a network node transfers energy along a path (na,nb) the total transferred energy decreases exponentially (Π ε)
The system energy model is introduced for a common understanding and is not used by the agents!
Each message sent from node A to node B is an energy transfer consisting of tokens (bits)
Sender unit can mix additional energy tokens with message data D (N serial bits) resulting in increased transmitted energy:
A node with very low energy, with restricted node operation (only agents arriving with energy are processed, only help emergency agents are sent out).
A node with low energy, resulting in a basically normal node operation but with execution limits (number of agents, agent processing time, agent creation, agent migration, agent class restrictions, increased barriers of processing negotiation).
A node with normal energy deposit and a normal node operation state with some resource limitations. All agents are processed and the node agent can create any type of energy agents.
A node with very high energy and normal node operation; only a few or no resource limitations. All agents are processed and the node agent will only create distribute energy agents (if behaviour was enabled).
Agents interact with each other by exchanging data base tuples or by creating agents
There is no centralized instance monitoring energy and performing energy management (distribution)
Each network node performs energy management (EM) within a spatially limited region → multiple instances
Global EM goals:
Emergence behaviour: Efficient and equalized energy distribution
Basic principles to achieve decentralized local EM with a global emergence:
This agent monitors the node state and power history. It has to initiate appropriate actions, i.e., creation of energy request, help, or distribute agents. The node agents has to asses the quality of the SEM locally and can change SEM strategies.
This agent requests energy from a specific destination node, returned with a Reply agent. If the destination node cannot deliver energy (bad node), the request agent dies without a reply.
This agent is created by a Request agent, which has reached its destination node. This agent carries energy from one node to another.
This agent explores a path starting with an initial direction and searches a good node having enough energy to satisfy the energy request from a bad node. This agent resides on the final good node (found by random walk within a region) for a couple of times and creates multiple deliver agents periodically in dependence of the energy state of the current node. If the current node is not suitable anymore, it travels to another good node.
This agent carries energy from a good node to a bad node (response to Help agent). Depending on selected sub-behaviour (HELPONWAY), this agent can supply bad nodes first, found on the back path to the original requesting node.
This agent carries energy from the source node to the neighbourhood and is instantiated on a good node. It explores a path starting with an initial direction and searches a bad nodes to supply them with the energy from the agent virtual energy deposit.
To avoid high density of help and request agents on a specific neighbour node each help and request agent places temporary markings on the node indicating energy demand on this (good or very good) node (aka. synthetic pheromones) by other nodes.
These markings are placed in the tuple space of the node and removed after a time-out automatically.
If a new help or request agent arrives on a node and this node has a strong marking it will continue traveling (help behaviour) or dies (request behaviour).
Each help and request agent negotiates energy demand with the node agent via the tuple space.
Algorithm 1.
A utility function evaluates the effect of actions of an agent or a set of agents performed in the past on the environment and with respect to the goals of the MAS
The utility function u(run) ∈ [0,1] used by the energy agents evaluates the efficiency of the energy distribution (action sequence run={ai}) and influence the sub-behaviour selection and parameter settings
All Agent Processing Platforms (APP) used in this work base on the same Activity-based Agent Programming Language Model (AAPL)
Agent Behaviour: Activity-Transition Graph (ATG)
Activities: Set of actions representing sub-goals
Actions: Computation, Communication, Replication, Mobility, Reconfiguration
Communication: Tuple spaces, Signals
JAM: JavaScript Agent Machine
|
|
Definition 2.
LUAM: Lua Agent Machine
|
|
Definition 3.
AFVM: Agent FORTH Virtual Machine
|
|
Definition 4.
SEJAM: Simulation Environment for JAM
|
|
|
[120 nodes total]
[120 nodes total]
[120 nodes total]
The entire MAS is self-organized and self-managing based on:
|
|
Decentralized goal-driven energy distribution was performed with mobile Multi-agent Systems
No particular system, energy, or network models are required → model-free approach
Agents were implemented in this work in JavaScript and executed by the JavaScript Agent Machine (JAM)
One major field of application (but not limited to): Dynamic Sensor Networks with ad-hoc connected and self-powered autonomous nodes