SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Downloaden Sie, um offline zu lesen
Building IoT Apps with Vortex and
the Intel Edison Starter Kit
Angelo	Corsaro,	PhD	
Chief	Technology	Officer	
angelo.corsaro@prismtech.com
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryIoT Architectures
CopyrightPrismTech,2015
CopyrightPrismTech,2015
Cloud
Cloud Centric Architectures
CopyrightPrismTech,2015
Cloud
Fog
Fog
Fog
Fog
CopyrightPrismTech,2015
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryVortex Intro
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
Vortex is a standard technology for
efficient, ubiquitous, interoperable,
secure and platform independent data
sharing across network connected
devices
in151
Characters
Applications can autonomously
and asynchronously read and
write data enjoying spatial and
temporal decoupling
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Virtualised Data
Space
Temporal Decoupling
Four different levels of temporal
decoupling allow to control the
trade-off between full temporal
decoupling, performances and
resource usage
t
Source
t
t
Sink
Sink
Volatile Durability
t
Source
t
t
Sink
Sink
Transient Durability
Built-in dynamic discovery
isolates applications from
network topology and
connectivity details
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Dynamic Discovery
Failure Detection
Vortex provides mechanism for
detecting traditional crashes as
well as performance failures
Source
tSink
Fault Notification
TD
Source
t
Sink
Performance Failure Notification
P
t
P P
Fault Masking
A built-in fault-masking
mechanism transparently
controls and switches between
sources of data
Source
tSink
Source t
Fault Masking
Vortex provides mechanism for
detecting traditional crashes as
well as performance failures
Source
tSink
Source t
QoS policies allow to express
temporal and availability
constraints for data
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
QoS - Enabled
A collection of policies
that control non-
functional properties
such as reliability,
persistence, temporal
constraints and priority
QoS
HISTORY
LIFESPAN
DURABILITY
DEADLINE
LATENCY BUDGET
TRANSPORT PRIO
TIME-BASED FILTER
RESOURCE LIMITS
USER DATA
TOPIC DATA
GROUP DATA
OWENERSHIP
OWN. STRENGTH
LIVELINESS
ENTITY FACTORY
DW LIFECYCLE
DR LIFECYCLE
PRESENTATION
RELIABILITY
PARTITION
DEST. ORDER
RxO QoS Local QoS
QoS Policies controlling
end-to-end properties
follow a Request vs.
Offered
QoS
Domain
Participant
DURABILITY
OWENERSHIP
DEADLINE
LATENCY BUDGET
LIVELINESS
RELIABILITY
DEST. ORDER
Publisher
DataWriter
PARTITION
DataReader
Subscriber
Domain
Participant
offered
QoS
Topic
writes reads
Domain Id
joins joins
produces-in consumes-from
RxO QoS Policies
requested
QoS
No single point of failure or
bottleneck
Decentralised
Data Space Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
Connectivity is dynamically
adapted to chose the most
effective way of sharing data
Adaptive Connectivity
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
The	communication	between	
the	DataWriter	and	matching	
DataReaders	can	be	peer-to-
peer	exploiting	UDP/IP	
(Unicast	and	Multicast)or	
TCP/IP
The	communication	between	
the	DataWriter	and	matching	
DataReaders	can	be	
“brokered”	but	still	
exploiting	UDP/IP	(Unicast	
and	Multicast)or	TCP/IP
A domain-wide information’s
class A Topic defined by means
of a <name, type, qos>
Topic
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Topic
Type
Name
QoS
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
Topic Types
— Language Independent Declaration—
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type
struct CarDynamics {
string cid;
long x; long y;
float dx; long dy;
}
#pragma keylist CarDynamics cid
IDL
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type message CarDynamics {
option (.omg.dds.type) =
{name: "CarDynamics"};
required string cid = 0
[(.omg.dds.member).key = true];
required long x = 1;
required long y = 2;
required float dx = 3;
required long dy = 4;
}
ProtoBuf
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
Topic Types
— Language Dependent Declaration—
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type
class CarDynamics:
constructor:
(@cid, @x, @y, @dx, @dy) ->
CoffeeScript
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type
public struct CaDynamics {

public string cid { get; set; }

public int x { get; set; }

public int y { get; set; }

public int dx { get; set; }

public int dy { get; set; }



public CaDynamics (string cid,
int x, int y, int dx, int dy)

{

this.cid = cid;

this.x = x; this.y = y;

this.dx = dx; this.dy = dy;

}

}

C#
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type
@KeyList ( topicType = "CarDynamics", keys = {"cid"})

public class CarDynamics {

public String cid;

public int x; public int dx;

public int y; public int dy;



public CarDynamics(String s, int a, int b,
int c,int d) {

this.cid = s;

this.x = a; this.dx = b;

this.y = c; this.dy = d;

}



@Override

public String toString() {
…

}



}

Java
Vortex “knows”
about application
data types and
uses this
information
provide type-
safety and
content-based
routing
Content
Awareness struct	CarDynamics	{	
			@key	
			string		cid;	
			long				x;			long		y;	
			float			dx;		long		dy;	
}
cid x y dx dy
GR 33N GO 167 240 45 0
LO 00V IN 65 26 65 0
AN 637 OS 32 853 0 50
AB 123 CD 325 235 80 0
“dx	>	50	OR	dy	>	50”
Type
CarDynamics
cid x y dx dy
LO 00V IN 65 26 65 0
AB 123 CD 325 235 80 0
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryProgramming Model
CopyrightPrismTech,2014
Anatomy of a DDS Application
CopyrightPrismTech,2015
Writing Data in Python
import dds
import time



if __name__ == '__main__':

topic = dds.Topic("SmartMeter", "Meter")

dw = dds.Writer(topic)



while True:

m = readMeter()

dw.write(m)

time.sleep(0.1)
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2015
Reading Data in Python
import dds

import sys



def readData(dr): 

samples = dds.range(dr.read())

for s in samples:

sys.stdout.write(str(s.getData()))



if __name__ == '__main__':

t = dds.Topic("SmartMeter", "Meter")

dr = dds.Reader(t)

dr.onDataAvailable = readData
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2014
Writing Data in Scala
import dds._

import dds.prelude._

import dds.config.DefaultEntities._

object SmartMeter {



def main(args: Array[String]): Unit = {

val topic = Topic[Meter](“SmartMeter”)

val dw = DataWriter[Meter](topic)
while (!done) {
val meter = readMeter()

dw.write(meter)
Thread.sleep(SAMPLING_PERIOD)
}

}

}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2014
Reading Data in Scala
import dds._

import dds.prelude._

import dds.config.DefaultEntities._

object ChatLog {

def main(args: Array[String]): Unit = {

val topic = Topic[Meter](“SmartMeter”)

val dr = DataReader[Meter](topic)

dr listen {

case DataAvailable(_) => dr.read.foreach(println)

}

}

}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2014
Writing Data in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0);
Topic<Meter> topic(“SmartMeter”);
Publisher pub(dp);
DataWriter<Meter> dw(pub, topic);
while (!done) {
auto value = readMeter()
dw.write(value);
std::this_thread::sleep_for(SAMPLING_PERIOD);
}
return 0;
}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2014
Reading Data in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0);
Topic<Meter> topic(”SmartMeter”);
Subscriber sub(dp);
DataReader<Meter> dr(dp, topic);
LambdaDataReaderListener<DataReader<Meter>> lst;
lst.data_available = [](DataReader<Meter>& dr) {
auto samples = data.read();
std::for_each(samples.begin(), samples.end(), [](Sample<Meter>& sample) {
std::cout << sample.data() << std::endl;
}
}
dr.listener(lst);
// Print incoming data up to when the user does a Ctrl-C
std::this_thread::join();
return 0;
}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryModeling Idioms
A state that is periodically updated
Examples are the reading of a sensor
(e.g. Temperature Sensor), the
position of a vehicle, etc.
Soft State
Reliability						=>		BestEffort	
Durability							=>		Volatile		
History										=>		KeepLast(n)	
Deadline									=>		updatePeriod	
LatencyBudget				=>		updatePeriod/3	
DestinationOrder	=>		SourceTimestamp
// Vortex’s Scala API provides first class implementation of the
// soft-state pattern
val temperature = SoftState[AnalogSensor](topicName)

A state that is sporadically updated
and that often has temporal
persistence requirements
Examples are system configuration, a
price estimate, etc.
Hard State
Reliability						=>		Reliable	
Durability							=>		Transient	|	Persistent		
History										=>		KeepLast(n)	(often	n	=1)	
DestinationOrder	=>		SourceTimestamp
// Vortex’s Scala API provides first class implementation of the
// hard-state pattern. The state is transient by default and can be controlled
// by an additional argument
val runningMicrosvc = HardState[RunningMicrosvc](topicName) 

The occurrence of something
noteworthy for our system
Examples are a collision alert, the
temperature beyond a given
threshold, etc.
Events
Reliability						=>		Reliable	
Durability							=>		any		
History										=>		KeepAll	
DestinationOrder	=>		SourceTimestamp
// Vortex’s Scala API provides first class implementation of the
// hard-state pattern. The state is transient by default and can be controlled
// by an additional argument
val nodeError = Event[NodeError](topicName) 

Data-centric design leverage the
same principle of Feedback-control
loops to assert a state
In other terms, the desired state is
asserted by writing a topic and the
actual state is monitored.
A control action is taken when the
desired and the actual state differ
Feedback Control Loop
Data-centric design leverage the
same principle of Feedback-control
loops to assert a state
In other terms, the desired state is
asserted by writing a topic and the
actual state is monitored.
A control action is taken when the
desired and the actual state differ
Feedback Control Loop Hard State
Soft State
microservice
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryVortex Technology Stack
Device implementations
optimised for OT, IT and
consumer platforms
Native support for Cloud and
Fog Computing Architectures
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Polyglot and Interoperable
across Programming
Languages
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Fully Independent of the
Cloud Infrastructure
Private Clouds
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Native Integration with the
hottest real-time analytics
platforms and CEP Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Integration with the popular
Node-RED framework
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Integration with mainstream
Dashboard Technologies
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
High
Performance
30 μs peer-to-peer latency
4+ Mmsgs/sec p2p throughput
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryIntel Edison Starter Kit
Edison is an Octo-Linux based x86
board for prototyping IoT
applications
Edison shirts an Intel optimised
OpenJDK implementation — perfect
for Café
The Grove Starter Kit Plus provides a
set of nice sensor, displays and
actuators to get started with IoT
IoT Starter Kit
Before getting started with playing
with the demo, make sure your
board is properly configured
You can check the configuration
using the configure_edison
command
Ensure that the WiFi is working!
Configuring your Board
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiarySensors
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryDisplays
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryLED
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryProgramming
Intel has contributed several Open
Source project that provide high
level abstractions to access Sensors,
LCD, Led, etc. , for a very large
number of different kinds of sensors
and manufacturers
Programming
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
LED
Light Sensor
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
IoT Applications
with Vortex and Edison
CopyrightPrismTech,2015
Cloud
Fog
Fog
Fog
Fog
CopyrightPrismTech,2015
Vortex can be used to virtualise
sensors/displays/motors/.. and
make them universally available
Instead of locally programming
sensors/displays/motors we
abstracts them with Topics and
access /control through DDS in a
location transparent manner
Virtualisation
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
The agentv micro service
framework is used to flexibly
provision and manage applications
Deployment
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
struct AnalogSensor {
short id;
float rvalue;
float value;
};
#pragma keylist AnalogSensor id
Temperature Sensor
Topic
AnalogSensor
Temperature
SoftState
sensor specific microsvc
write
read
read
read
struct LCDText {

short id;

unsigned short row;

unsigned short col;

string text;

};

#pragma keylist LCDText id



LCD
Topic
LCDText
LCDText
HardState
sensor specific microsvc
read
read
struct LCDColor {

short id;

short r;

short g;

short b;

};

#pragma keylist LCDColor id
Topic
LCDColor
LCDColor
HardState
write
write
write
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiaryCoding-Lab
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
This slides have been crafted by Angelo Corsaro
Any use of these slides that does include me as Author/Co-Author is plagiary
Vortex makes it extremely easy
to build IoT applications
Get started Building IoT apps
with Vortex and Edison!
In
Summary
CopyrightPrismTech,2015

Weitere ähnliche Inhalte

Was ist angesagt?

Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXReactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXAngelo Corsaro
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDSAngelo Corsaro
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex LiteAngelo Corsaro
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA ExplainedAngelo Corsaro
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part IAngelo Corsaro
 
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsVortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsAngelo Corsaro
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféAngelo Corsaro
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part IAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
Connected Mobile and Web Applications with Vortex
Connected Mobile and Web Applications with VortexConnected Mobile and Web Applications with Vortex
Connected Mobile and Web Applications with VortexAngelo Corsaro
 
Building Reactive Applications with DDS
Building Reactive Applications with DDSBuilding Reactive Applications with DDS
Building Reactive Applications with DDSAngelo Corsaro
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSAngelo Corsaro
 

Was ist angesagt? (20)

Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXReactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part I
 
Vortex Tutorial Part 2
Vortex Tutorial Part 2Vortex Tutorial Part 2
Vortex Tutorial Part 2
 
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsVortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
DDS Everywhere
DDS EverywhereDDS Everywhere
DDS Everywhere
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex Café
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part I
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Connected Mobile and Web Applications with Vortex
Connected Mobile and Web Applications with VortexConnected Mobile and Web Applications with Vortex
Connected Mobile and Web Applications with Vortex
 
Building Reactive Applications with DDS
Building Reactive Applications with DDSBuilding Reactive Applications with DDS
Building Reactive Applications with DDS
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDS
 

Andere mochten auch

The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...Angelo Corsaro
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT ArchitecturesAngelo Corsaro
 
Microservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIMicroservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIAngelo Corsaro
 
Vortex 2.0 -- The Industrial Internet of Things Platform
Vortex 2.0 -- The Industrial Internet of Things PlatformVortex 2.0 -- The Industrial Internet of Things Platform
Vortex 2.0 -- The Industrial Internet of Things PlatformAngelo Corsaro
 
Fog Computing with Vortex
Fog Computing with VortexFog Computing with Vortex
Fog Computing with VortexAngelo Corsaro
 
Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Ahmed Banafa
 
Fog computing technology
Fog computing technologyFog computing technology
Fog computing technologyNikhil Sabu
 
The Data Distribution Service: The Communication Middleware Fabric for Scala...
The Data Distribution Service: The Communication  Middleware Fabric for Scala...The Data Distribution Service: The Communication  Middleware Fabric for Scala...
The Data Distribution Service: The Communication Middleware Fabric for Scala...Angelo Corsaro
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTAngelo Corsaro
 
Many Bundles of Things - M Rulli
Many Bundles of Things - M RulliMany Bundles of Things - M Rulli
Many Bundles of Things - M Rullimfrancis
 
Fineo Technical Overview - NextSQL for IoT
Fineo Technical Overview - NextSQL for IoTFineo Technical Overview - NextSQL for IoT
Fineo Technical Overview - NextSQL for IoTJesse Yates
 
MongoDB IoT City Tour LONDON: Managing the Database Complexity, by Arthur Vie...
MongoDB IoT City Tour LONDON: Managing the Database Complexity, by Arthur Vie...MongoDB IoT City Tour LONDON: Managing the Database Complexity, by Arthur Vie...
MongoDB IoT City Tour LONDON: Managing the Database Complexity, by Arthur Vie...MongoDB
 
Authorization Aspects of the Distributed Dataflow-oriented IoT Framework Calvin
Authorization Aspects of the Distributed Dataflow-oriented IoT Framework CalvinAuthorization Aspects of the Distributed Dataflow-oriented IoT Framework Calvin
Authorization Aspects of the Distributed Dataflow-oriented IoT Framework CalvinTomas Nilsson
 
Getting to know oracle database objects iot, mviews, clusters and more…
Getting to know oracle database objects iot, mviews, clusters and more…Getting to know oracle database objects iot, mviews, clusters and more…
Getting to know oracle database objects iot, mviews, clusters and more…Aaron Shilo
 
Informix - The Ideal Database for IoT
Informix - The Ideal Database for IoTInformix - The Ideal Database for IoT
Informix - The Ideal Database for IoTPradeep Natarajan
 
Developing io t applications in the fog a distributed dataflow approach
Developing io t applications in the fog  a distributed dataflow approachDeveloping io t applications in the fog  a distributed dataflow approach
Developing io t applications in the fog a distributed dataflow approachNam Giang
 
Embedded Security and the IoT – Challenges, Trends and Solutions
Embedded Security and the IoT – Challenges, Trends and SolutionsEmbedded Security and the IoT – Challenges, Trends and Solutions
Embedded Security and the IoT – Challenges, Trends and SolutionsReal-Time Innovations (RTI)
 

Andere mochten auch (19)

The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT Architectures
 
Microservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIMicroservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part II
 
Vortex 2.0 -- The Industrial Internet of Things Platform
Vortex 2.0 -- The Industrial Internet of Things PlatformVortex 2.0 -- The Industrial Internet of Things Platform
Vortex 2.0 -- The Industrial Internet of Things Platform
 
Fog Computing with Vortex
Fog Computing with VortexFog Computing with Vortex
Fog Computing with Vortex
 
Happy 2016!
Happy 2016!Happy 2016!
Happy 2016!
 
Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?
 
Fog computing technology
Fog computing technologyFog computing technology
Fog computing technology
 
DDS Security
DDS SecurityDDS Security
DDS Security
 
The Data Distribution Service: The Communication Middleware Fabric for Scala...
The Data Distribution Service: The Communication  Middleware Fabric for Scala...The Data Distribution Service: The Communication  Middleware Fabric for Scala...
The Data Distribution Service: The Communication Middleware Fabric for Scala...
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoT
 
Many Bundles of Things - M Rulli
Many Bundles of Things - M RulliMany Bundles of Things - M Rulli
Many Bundles of Things - M Rulli
 
Fineo Technical Overview - NextSQL for IoT
Fineo Technical Overview - NextSQL for IoTFineo Technical Overview - NextSQL for IoT
Fineo Technical Overview - NextSQL for IoT
 
MongoDB IoT City Tour LONDON: Managing the Database Complexity, by Arthur Vie...
MongoDB IoT City Tour LONDON: Managing the Database Complexity, by Arthur Vie...MongoDB IoT City Tour LONDON: Managing the Database Complexity, by Arthur Vie...
MongoDB IoT City Tour LONDON: Managing the Database Complexity, by Arthur Vie...
 
Authorization Aspects of the Distributed Dataflow-oriented IoT Framework Calvin
Authorization Aspects of the Distributed Dataflow-oriented IoT Framework CalvinAuthorization Aspects of the Distributed Dataflow-oriented IoT Framework Calvin
Authorization Aspects of the Distributed Dataflow-oriented IoT Framework Calvin
 
Getting to know oracle database objects iot, mviews, clusters and more…
Getting to know oracle database objects iot, mviews, clusters and more…Getting to know oracle database objects iot, mviews, clusters and more…
Getting to know oracle database objects iot, mviews, clusters and more…
 
Informix - The Ideal Database for IoT
Informix - The Ideal Database for IoTInformix - The Ideal Database for IoT
Informix - The Ideal Database for IoT
 
Developing io t applications in the fog a distributed dataflow approach
Developing io t applications in the fog  a distributed dataflow approachDeveloping io t applications in the fog  a distributed dataflow approach
Developing io t applications in the fog a distributed dataflow approach
 
Embedded Security and the IoT – Challenges, Trends and Solutions
Embedded Security and the IoT – Challenges, Trends and SolutionsEmbedded Security and the IoT – Challenges, Trends and Solutions
Embedded Security and the IoT – Challenges, Trends and Solutions
 

Ähnlich wie Building IoT Applications with Vortex and the Intel Edison Starter Kit

Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEXAngelo Corsaro
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime Martin Losa
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
Azure Digital Twins.pdf
Azure Digital Twins.pdfAzure Digital Twins.pdf
Azure Digital Twins.pdfTomasz Kopacz
 
Introduction to X3D
Introduction to X3DIntroduction to X3D
Introduction to X3DAhmed Gad
 
Where are yours vertexes and what are they talking about?
Where are yours vertexes and what are they talking about?Where are yours vertexes and what are they talking about?
Where are yours vertexes and what are they talking about?Roberto Franchini
 
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayC:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayArik Weinstein
 
As You Seek – How Search Enables Big Data Analytics
As You Seek – How Search Enables Big Data AnalyticsAs You Seek – How Search Enables Big Data Analytics
As You Seek – How Search Enables Big Data AnalyticsInside Analysis
 
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSOverloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSSumant Tambe
 
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoTReal-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoTDMC, Inc.
 
A NETWORK CODING AND DES BASED DYNAMIC ENCRYPTION SCHEME FOR MOVING TARGET DE...
A NETWORK CODING AND DES BASED DYNAMIC ENCRYPTION SCHEME FOR MOVING TARGET DE...A NETWORK CODING AND DES BASED DYNAMIC ENCRYPTION SCHEME FOR MOVING TARGET DE...
A NETWORK CODING AND DES BASED DYNAMIC ENCRYPTION SCHEME FOR MOVING TARGET DE...Akhil Kumar Pappula
 
Best practices for long-term support and security of the device-tree
Best practices for long-term support and security of the device-treeBest practices for long-term support and security of the device-tree
Best practices for long-term support and security of the device-treeAlison Chaiken
 
Access control in decentralized online social networks applying a policy hidi...
Access control in decentralized online social networks applying a policy hidi...Access control in decentralized online social networks applying a policy hidi...
Access control in decentralized online social networks applying a policy hidi...IGEEKS TECHNOLOGIES
 

Ähnlich wie Building IoT Applications with Vortex and the Intel Edison Starter Kit (20)

PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1
 
Vortex Cloud Beyond Cloud Messaging
Vortex Cloud Beyond Cloud MessagingVortex Cloud Beyond Cloud Messaging
Vortex Cloud Beyond Cloud Messaging
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEX
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
Azure Digital Twins.pdf
Azure Digital Twins.pdfAzure Digital Twins.pdf
Azure Digital Twins.pdf
 
Introduction to X3D
Introduction to X3DIntroduction to X3D
Introduction to X3D
 
DDS ISO C++ PSM
DDS ISO C++ PSMDDS ISO C++ PSM
DDS ISO C++ PSM
 
Where are yours vertexes and what are they talking about?
Where are yours vertexes and what are they talking about?Where are yours vertexes and what are they talking about?
Where are yours vertexes and what are they talking about?
 
DDS Made Simple
DDS Made SimpleDDS Made Simple
DDS Made Simple
 
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayC:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
 
As You Seek – How Search Enables Big Data Analytics
As You Seek – How Search Enables Big Data AnalyticsAs You Seek – How Search Enables Big Data Analytics
As You Seek – How Search Enables Big Data Analytics
 
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSOverloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
 
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoTReal-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
 
Overview of the DDS-XRCE specification
Overview of the DDS-XRCE specificationOverview of the DDS-XRCE specification
Overview of the DDS-XRCE specification
 
KIRANKUMAR_MV
KIRANKUMAR_MVKIRANKUMAR_MV
KIRANKUMAR_MV
 
A NETWORK CODING AND DES BASED DYNAMIC ENCRYPTION SCHEME FOR MOVING TARGET DE...
A NETWORK CODING AND DES BASED DYNAMIC ENCRYPTION SCHEME FOR MOVING TARGET DE...A NETWORK CODING AND DES BASED DYNAMIC ENCRYPTION SCHEME FOR MOVING TARGET DE...
A NETWORK CODING AND DES BASED DYNAMIC ENCRYPTION SCHEME FOR MOVING TARGET DE...
 
Best practices for long-term support and security of the device-tree
Best practices for long-term support and security of the device-treeBest practices for long-term support and security of the device-tree
Best practices for long-term support and security of the device-tree
 
Access control in decentralized online social networks applying a policy hidi...
Access control in decentralized online social networks applying a policy hidi...Access control in decentralized online social networks applying a policy hidi...
Access control in decentralized online social networks applying a policy hidi...
 

Mehr von Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 

Mehr von Angelo Corsaro (15)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 

Kürzlich hochgeladen

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Building IoT Applications with Vortex and the Intel Edison Starter Kit

  • 1. Building IoT Apps with Vortex and the Intel Edison Starter Kit Angelo Corsaro, PhD Chief Technology Officer angelo.corsaro@prismtech.com
  • 2. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryIoT Architectures
  • 7. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryVortex Intro
  • 8. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary Vortex is a standard technology for efficient, ubiquitous, interoperable, secure and platform independent data sharing across network connected devices in151 Characters
  • 9. Applications can autonomously and asynchronously read and write data enjoying spatial and temporal decoupling DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Virtualised Data Space
  • 10. Temporal Decoupling Four different levels of temporal decoupling allow to control the trade-off between full temporal decoupling, performances and resource usage t Source t t Sink Sink Volatile Durability t Source t t Sink Sink Transient Durability
  • 11. Built-in dynamic discovery isolates applications from network topology and connectivity details DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Dynamic Discovery
  • 12. Failure Detection Vortex provides mechanism for detecting traditional crashes as well as performance failures Source tSink Fault Notification TD Source t Sink Performance Failure Notification P t P P
  • 13. Fault Masking A built-in fault-masking mechanism transparently controls and switches between sources of data Source tSink Source t
  • 14. Fault Masking Vortex provides mechanism for detecting traditional crashes as well as performance failures Source tSink Source t
  • 15. QoS policies allow to express temporal and availability constraints for data DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS QoS - Enabled
  • 16. A collection of policies that control non- functional properties such as reliability, persistence, temporal constraints and priority QoS HISTORY LIFESPAN DURABILITY DEADLINE LATENCY BUDGET TRANSPORT PRIO TIME-BASED FILTER RESOURCE LIMITS USER DATA TOPIC DATA GROUP DATA OWENERSHIP OWN. STRENGTH LIVELINESS ENTITY FACTORY DW LIFECYCLE DR LIFECYCLE PRESENTATION RELIABILITY PARTITION DEST. ORDER RxO QoS Local QoS
  • 17. QoS Policies controlling end-to-end properties follow a Request vs. Offered QoS Domain Participant DURABILITY OWENERSHIP DEADLINE LATENCY BUDGET LIVELINESS RELIABILITY DEST. ORDER Publisher DataWriter PARTITION DataReader Subscriber Domain Participant offered QoS Topic writes reads Domain Id joins joins produces-in consumes-from RxO QoS Policies requested QoS
  • 18. No single point of failure or bottleneck Decentralised Data Space Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS TopicD QoS TopicD QoS TopicA QoS
  • 19. Connectivity is dynamically adapted to chose the most effective way of sharing data Adaptive Connectivity Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS TopicD QoS TopicD QoS TopicA QoS The communication between the DataWriter and matching DataReaders can be peer-to- peer exploiting UDP/IP (Unicast and Multicast)or TCP/IP The communication between the DataWriter and matching DataReaders can be “brokered” but still exploiting UDP/IP (Unicast and Multicast)or TCP/IP
  • 20. A domain-wide information’s class A Topic defined by means of a <name, type, qos> Topic DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Topic Type Name QoS
  • 21. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary Topic Types — Language Independent Declaration—
  • 22. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type struct CarDynamics { string cid; long x; long y; float dx; long dy; } #pragma keylist CarDynamics cid IDL
  • 23. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type message CarDynamics { option (.omg.dds.type) = {name: "CarDynamics"}; required string cid = 0 [(.omg.dds.member).key = true]; required long x = 1; required long y = 2; required float dx = 3; required long dy = 4; } ProtoBuf
  • 24. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary Topic Types — Language Dependent Declaration—
  • 25. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type class CarDynamics: constructor: (@cid, @x, @y, @dx, @dy) -> CoffeeScript
  • 26. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type public struct CaDynamics {
 public string cid { get; set; }
 public int x { get; set; }
 public int y { get; set; }
 public int dx { get; set; }
 public int dy { get; set; }
 
 public CaDynamics (string cid, int x, int y, int dx, int dy)
 {
 this.cid = cid;
 this.x = x; this.y = y;
 this.dx = dx; this.dy = dy;
 }
 }
 C#
  • 27. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type @KeyList ( topicType = "CarDynamics", keys = {"cid"})
 public class CarDynamics {
 public String cid;
 public int x; public int dx;
 public int y; public int dy;
 
 public CarDynamics(String s, int a, int b, int c,int d) {
 this.cid = s;
 this.x = a; this.dx = b;
 this.y = c; this.dy = d;
 }
 
 @Override
 public String toString() { …
 }
 
 }
 Java
  • 28. Vortex “knows” about application data types and uses this information provide type- safety and content-based routing Content Awareness struct CarDynamics { @key string cid; long x; long y; float dx; long dy; } cid x y dx dy GR 33N GO 167 240 45 0 LO 00V IN 65 26 65 0 AN 637 OS 32 853 0 50 AB 123 CD 325 235 80 0 “dx > 50 OR dy > 50” Type CarDynamics cid x y dx dy LO 00V IN 65 26 65 0 AB 123 CD 325 235 80 0
  • 29. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryProgramming Model
  • 31. CopyrightPrismTech,2015 Writing Data in Python import dds import time
 
 if __name__ == '__main__':
 topic = dds.Topic("SmartMeter", "Meter")
 dw = dds.Writer(topic)
 
 while True:
 m = readMeter()
 dw.write(m)
 time.sleep(0.1) enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 32. CopyrightPrismTech,2015 Reading Data in Python import dds
 import sys
 
 def readData(dr): 
 samples = dds.range(dr.read())
 for s in samples:
 sys.stdout.write(str(s.getData()))
 
 if __name__ == '__main__':
 t = dds.Topic("SmartMeter", "Meter")
 dr = dds.Reader(t)
 dr.onDataAvailable = readData enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 33. CopyrightPrismTech,2014 Writing Data in Scala import dds._
 import dds.prelude._
 import dds.config.DefaultEntities._
 object SmartMeter {
 
 def main(args: Array[String]): Unit = {
 val topic = Topic[Meter](“SmartMeter”)
 val dw = DataWriter[Meter](topic) while (!done) { val meter = readMeter()
 dw.write(meter) Thread.sleep(SAMPLING_PERIOD) }
 }
 } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 34. CopyrightPrismTech,2014 Reading Data in Scala import dds._
 import dds.prelude._
 import dds.config.DefaultEntities._
 object ChatLog {
 def main(args: Array[String]): Unit = {
 val topic = Topic[Meter](“SmartMeter”)
 val dr = DataReader[Meter](topic)
 dr listen {
 case DataAvailable(_) => dr.read.foreach(println)
 }
 }
 } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 35. CopyrightPrismTech,2014 Writing Data in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Meter> topic(“SmartMeter”); Publisher pub(dp); DataWriter<Meter> dw(pub, topic); while (!done) { auto value = readMeter() dw.write(value); std::this_thread::sleep_for(SAMPLING_PERIOD); } return 0; } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 36. CopyrightPrismTech,2014 Reading Data in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Meter> topic(”SmartMeter”); Subscriber sub(dp); DataReader<Meter> dr(dp, topic); LambdaDataReaderListener<DataReader<Meter>> lst; lst.data_available = [](DataReader<Meter>& dr) { auto samples = data.read(); std::for_each(samples.begin(), samples.end(), [](Sample<Meter>& sample) { std::cout << sample.data() << std::endl; } } dr.listener(lst); // Print incoming data up to when the user does a Ctrl-C std::this_thread::join(); return 0; } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 37. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryModeling Idioms
  • 38. A state that is periodically updated Examples are the reading of a sensor (e.g. Temperature Sensor), the position of a vehicle, etc. Soft State Reliability => BestEffort Durability => Volatile History => KeepLast(n) Deadline => updatePeriod LatencyBudget => updatePeriod/3 DestinationOrder => SourceTimestamp // Vortex’s Scala API provides first class implementation of the // soft-state pattern val temperature = SoftState[AnalogSensor](topicName)

  • 39. A state that is sporadically updated and that often has temporal persistence requirements Examples are system configuration, a price estimate, etc. Hard State Reliability => Reliable Durability => Transient | Persistent History => KeepLast(n) (often n =1) DestinationOrder => SourceTimestamp // Vortex’s Scala API provides first class implementation of the // hard-state pattern. The state is transient by default and can be controlled // by an additional argument val runningMicrosvc = HardState[RunningMicrosvc](topicName) 

  • 40. The occurrence of something noteworthy for our system Examples are a collision alert, the temperature beyond a given threshold, etc. Events Reliability => Reliable Durability => any History => KeepAll DestinationOrder => SourceTimestamp // Vortex’s Scala API provides first class implementation of the // hard-state pattern. The state is transient by default and can be controlled // by an additional argument val nodeError = Event[NodeError](topicName) 

  • 41. Data-centric design leverage the same principle of Feedback-control loops to assert a state In other terms, the desired state is asserted by writing a topic and the actual state is monitored. A control action is taken when the desired and the actual state differ Feedback Control Loop
  • 42. Data-centric design leverage the same principle of Feedback-control loops to assert a state In other terms, the desired state is asserted by writing a topic and the actual state is monitored. A control action is taken when the desired and the actual state differ Feedback Control Loop Hard State Soft State microservice
  • 43. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryVortex Technology Stack
  • 44. Device implementations optimised for OT, IT and consumer platforms Native support for Cloud and Fog Computing Architectures Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 45. Polyglot and Interoperable across Programming Languages Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 46. Fully Independent of the Cloud Infrastructure Private Clouds Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 47. Native Integration with the hottest real-time analytics platforms and CEP Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 48. Integration with the popular Node-RED framework Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 49. Integration with mainstream Dashboard Technologies Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 50. High Performance 30 μs peer-to-peer latency 4+ Mmsgs/sec p2p throughput Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 51. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryIntel Edison Starter Kit
  • 52. Edison is an Octo-Linux based x86 board for prototyping IoT applications Edison shirts an Intel optimised OpenJDK implementation — perfect for Café The Grove Starter Kit Plus provides a set of nice sensor, displays and actuators to get started with IoT IoT Starter Kit
  • 53. Before getting started with playing with the demo, make sure your board is properly configured You can check the configuration using the configure_edison command Ensure that the WiFi is working! Configuring your Board
  • 54. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiarySensors
  • 55.
  • 56. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryDisplays
  • 57. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary
  • 58. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryLED
  • 59. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary
  • 60. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryProgramming
  • 61. Intel has contributed several Open Source project that provide high level abstractions to access Sensors, LCD, Led, etc. , for a very large number of different kinds of sensors and manufacturers Programming
  • 62. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary LED Light Sensor
  • 63. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary IoT Applications with Vortex and Edison
  • 66. Vortex can be used to virtualise sensors/displays/motors/.. and make them universally available Instead of locally programming sensors/displays/motors we abstracts them with Topics and access /control through DDS in a location transparent manner Virtualisation DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 67. The agentv micro service framework is used to flexibly provision and manage applications Deployment DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 68. struct AnalogSensor { short id; float rvalue; float value; }; #pragma keylist AnalogSensor id Temperature Sensor Topic AnalogSensor Temperature SoftState sensor specific microsvc write read read read
  • 69. struct LCDText {
 short id;
 unsigned short row;
 unsigned short col;
 string text;
 };
 #pragma keylist LCDText id
 
 LCD Topic LCDText LCDText HardState sensor specific microsvc read read struct LCDColor {
 short id;
 short r;
 short g;
 short b;
 };
 #pragma keylist LCDColor id Topic LCDColor LCDColor HardState write write write
  • 70. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiaryCoding-Lab
  • 71. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary
  • 72. This slides have been crafted by Angelo Corsaro Any use of these slides that does include me as Author/Co-Author is plagiary
  • 73. Vortex makes it extremely easy to build IoT applications Get started Building IoT apps with Vortex and Edison! In Summary