Interactions-HSG / IMP-Hypermedia-in-MicroWatts

0 stars 0 forks source link

IMP-Hypermedia-in-MicroWatts

drawio image

Introduction

Smart Buildings could be a lot smarter if the sensors could act with some degree of autonomy. Most sensor nowadays are strong enough to run an agent based program that could make decisions dynamically and depending on exterior factors. Currently, the power of these sensors is not used to its full potential. With this project we want to demonstrate, that not only will using an agent based approach make the system more robust and flexible, but it should also be more energy efficient.

Demo

If you run the docker compose file you will see that some services will be created. It will spin up an instance of yggdrasil, that will enable the hypermedia driven capabilities. The other services will also be started and do their initial setup. The OrgManager and Datalake will create an artifact in the root workspace of yggdrasil. This will enable other agents to find the endpoints that are of interest to them. The SensingAgent for example looks for the datalake service and tries to find the endpoint where it can send its data to. Additionally it will join the workspace that represents the room in the building where it has been placed.

ROADMAP

The rough steps to make this project a success

Yggdrasil TO-DOs

Yggdrasil Roadblocks

loose ideas

embedded device:

startup -> connect thread network

( ble get entrypoint ) ( room hardcoded )

-> /root/artifacts/

-> /root/artifacts/orgManager -> /root/artifacts/datalake

OrgManagerlogic: -> join org

-> join group ( room ) -> get roles -> evaluates roles -> adopt a role

-> send measurements ( either immediately or upon group well-formed )

-> quit roles

Full logic - Constrained Sensing Agent: -> join workspace ( room )

<- groupname groupid ( room )

-> join group ( room ) <- rollen ( room ) -> adopt role ( room ) <- success ( room )

--- idle ---

<- well-formed ( room ) -> send measurements ( room )

<- not well-formed ( room ) -> stop sending measurements ( room )

--- out of power --- -> quit workspaces ( room )

++++ add to yggdrasil update messages of new / deleted devices the location header of the device