WP4 of the BRAIN-IoT project deals with Decentralization of IoT platforms and services. In this presentation you will find a description of the approach and current status of the project in the following topics:
1. Repository & Runtime Decoupling
2. Platform Foundations
3. Federation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Overview of the WP4 of BRAIN-IoT
1. 1
• Repository & Runtime Decoupling
• Platform Foundations
- Leveraging Paremus Service Fabric & sensiNact IoT agent.
- Installing Smart Behaviour
• Federated:
- A Brain-IoT Environment may be comprised of a number of local Autonomous
platforms that can co-operation on site, or geographically distributed.
WP4 - Overview
2. 2
WP4 - Repository & Runtime Decoupling
BIP model
Papyrus model
Artificial Net
?
Repository
Market Place
Dev / Model World
3. 3
WP4 - Repository & Runtime Decoupling
Repository
Market Place
Runtime World
Dynamic / Adaptive / Changing
Brain-IoT
Node
I have capability Y
Smart Behaviour
Opaque OSGi
Artefacts
bundle name
version
capabilities X
requirements Y
WP3 - D3.3
Behaviour
Discovery
Behaviour
Install
4. 4
WP4 - Platform Foundations
Hardware Layer (Robots & Compute)
Fabric Runtime (Java / OSGi)
Robot
tag `ROS`
compute node
no tag
5. Hardware Layer (Robots & Compute)
Fabric Runtime (Java / OSGi)
5
WP4 - Platform Foundations
RepositoryRepository
install Brain-IoT System
Robot
tag `ROS`
compute node
no tag
6. Hardware Layer (Robots & Compute)
Fabric Runtime (Java / OSGi)
Brain-IoT System
Management & Gateway
WP4 - Fabric / sensiNact work
• A cut down deployment of sensiNact capable of running in a “vanilla” OSGi launcher
• An updated northbound REST connector using the OSGi Http Service Whiteboard
• A simple “smart lightbulb" example with a REST based web ui
• A generated system to deploy these things on the Service Fabric
7. 7
WP4 - D4.2 Fabric / SensiNact (delivered)
curl -X POST --header "Content-Type: application/json" http://localhost:4224/sensinact-rest/sensinact/
light/switch/turn_on/ACT
{"triggered":[{"name":"status","type":"string","value":"ON","timestamp":1544097446895}],"response":
{"task":"ACT","start":1544097446893,"end":1544097446894,"uri":"/light/switch/
turn_on","status":"EXECUTED"},"type":"ACT_RESPONSE","uri":"/light/switch/turn_on"
control of
device
dynamically
assembly
SensiNact
behaviour
8. WP4 - Fabric / SensiNact: Next Step
Robot
tag `ROS`
Hardware Layer (Robots & Compute)
Fabric Runtime (Java / OSGi)
Brain-IoT System
Edge NodesManagement Node
compute node
no tag
To Do - D4.2
• Separate the northbound gateway bundles from the Southbound device invocation/connector bundles
• Physically separate the northbound gateway REST UI from the southbound device by running the two in separate OSGi frameworks
• Use OSGi Remote Services for communication between the gateway framework and the device framework
• Allow one gateway to communicate with multiple device frameworks
• Update the generated system to deploy this onto the Service Fabric
9. 9
WP3 / D3.3 - Dynamic Install
Dynamic Install of Smart Behaviours:
• Push Install on Command - (EMALCSA?)
- Install specified Smart Behaviour
- Update specified Smart Behaviour (a later trained Network)
• Self Configuring Edge - Pull Smart Behaviour based on Edge Type - (Robotnik)
- I’m a Robot - search repo and install Robot behaviour
- I’m a Door Edge Node Proxy - search repo install Door Controller Behaviour
- I’m the Orchestrator - search repo install Orchestration Behaviour.
• Adaptive Edge - Environmental Event Trigger (D4.1 See discovery pipeline).
- A new Discovery Event is unknown / cannot be processed by Edge Node
- Edge installs required Smart Behaviour
11. 1. Move completes, notifies behaviour
2. Behaviour enters “Door” state and requests the door be opened by sending an event to
the local broker
3. Local Broker determines a remote broker has interest and sends the event
4. Event is delivered to the interested party (the orchestrator)
5. The orchestrator decides the door must be opened and sends an event to the local
broker
6. Local Broker determines a local interest and delivers the event to the door behaviour
7. The door smart behaviour triggers the door connector
8. The door connector tells the door to open
9. When the door is open the door behaviour sends a “door open” event to the local broker
10. The local broker delivers the event to the locally interested party
11. The orchestrator behaviour creates a notification event for waiting robots
12. The broker determines a remote interested party and delivers the event
13. The robot behaviour receives the door open event, and moves back to the moving state
14. The robot behaviour requests that the robot begin moving.
Steps in Diagram
15. 15
WP4 - Structural Federations
BRAIN-IoT Interaction with external `Public` Services
Hardware Layer (Robots & Compute)
Fabric Runtime (Java / OSGi)
Brain-IoT System
Edge NodesEdge Nodes
Third Party
‘platfrom’
HTTP
REST
Public
Service
Third Party
‘platfrom’
Private Service
secure RPC, Messaging or REST
Brain-IoT
platform proxy