SlideShare a Scribd company logo
1 of 52
Download to read offline
A Model-Driven,
Component Generation
Approach for the WoT
University of Fribourg
Overview
• Vision
• Short Technological Background
• The xWoT
• A component approach for the xWoT
• Meta-Modeling
• The xWoT Compiler
• S2Mashup Editor
• Semantic Discovery for the xWoT
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
INTRODUCTION
& Vision
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Vision
• Instead of finding better approaches on how to combine smart
devices we have to re-think how to build smart devices.
• The current WoT needs to be extended to take into consideration
algorithms and handle events gracefully.
• Re-usable and easy to deploy components, taking care of aspects like
events (and discovery in the future) are the way out of the “things-
crisis”.
• Adopt Model Driven Architecture.
• Allow Models to be enhanced semantically.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
BACKGROUND
Historical and Technological
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Software Components
• According to Cox the solution to the software crisis in the
early 80’s.
• A software component is a unit of composition with
contractually specified interfaces and explicit context
dependencies only. A software component can be
deployed independently and is subject to composition by
third parties. (Szyperski)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Meta-Model
• Given
• α:S→M
• Then
• ∃ SUS1, SUS2 ∈ S|
α(SUS1) = α(SUS2)
⇏SUS1 = SUS2
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Meta-Model
• Given
• α′ : M → MM
• Then
• ∃ m1,m2 ∈ M | α′
(m1) = α′(m2) ⇏
m1 = m2
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
The xWoT
An Extension for the WoT
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
WoT Problems
• Data Integration: Treat Algorithms and other RESTful
services as first class citizens.
• Event Architecture: Define a common event architecture
suitable for a wide range of applications.
• Building Blocks: Introduce components as the building
blocks of the xWoT.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Data Integration
• Mashups already rely on services like Facebook or
Twitter.
• How to turn a Book into a Smart-Book?
• Leveraging the power of established computational
resources to the WoT, e.g. Business Processes.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Events
• Today: use of IoTaaS platforms like Xively.
• Problem: Smart-Devices are no longer WoT Compliant.
Instead the IoTaaS Platform is.
• Events must propagate in an (energy) efficient manner.
• WebHooks: spare events, alerting
• WebSockets: many events, live monitoring
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Components
• Hide the inner guts from clients.
• Define a clear interface for users (RESTful).
• Build reusable components.
• Use Meaningful URIs.
• Use Predictable URIs (plus HATEOAS)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Formal Definition
• The extended WoT is a web made of sensors, actuators and tags forming
the classical WoT plus services respecting RESTful principles.
• The aim of the xWoT is to introduce a standard approach on how to design
the building blocks for novel applications and mashups exploiting the
capabilities offered by smart things and other virtual goods. To achieve this
goal, the xWoT introduces a component- based methodology which is
underlined by a meta-model guiding the developers during crucial
architectural decisions. Finally, since the architecture respects the xWoT’s
meta-model, component skeletons are generated out of the specifications.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
COMPONENTS
Reusable xWoT Components
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Corridor - ExampleUniversité de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Expected Output
• One component representing the corridor.
• One component for each instantiated corridor.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
SmartDoor Component
http://service1.com/door/ GET
http://service1.com/door/oc/ GET / PUT
http://service1.com/door/oc/pub/ various
http://service1.com/door/lu/ GET / PUT
http://service1.com/door/lu/pub/ various
SmartCorridor
http://service2.com/corridor/ GET
http://service2.com/corridor/{id} GET
http://service2.com/corridor/{id}/oc GET / PUT
http://service2.com/corridor/{id}/oc/pub/ various
http://service2.com/corridor/{id}/lu/ GET / PUT
META-MODELING
The xWoT Meta-Model
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Partial xWoT Meta-Model
Virtual Entity
Resource
Actuator
Resource
Sensor
Resource
Service
Resource
1..*
Publisher
Resource
Context
Resource
Physical Entity
Entity
0..1 1
DeviceTag SensorActuator
1..*
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Full xWoT Meta-Model
Virtual Entity
Resource
Actuator
Resource
Sensor
Resource
Service
Resource
1..*
Publisher
Resource
Context
Resource
Physical Entity
Entity
0..1 1
DeviceTag SensorActuator
1..*
name: EString
method: MethodOperation
output: MethodOutput
input: MethodInput
Method
style: MethodStyle
MethodParam
style: MethodStyle
VEntityParam
name: EString
type: EString
Param
TEMPLATE
QUERY
MethodStyle
XMLJSON
MULTIPARTRELATED
FORM
NONE
MethodInput
XMLJSON
MULTIPARTRELATED
FORM
NONE
MethodOutput
GET
PUT
POST
DELETE
MethodOperation
0..* 0..*
0..*
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (UC)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (HW)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (M)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (M)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (M)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (M)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (M)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
COMPILER
A Model Compiler for the xWoT
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Model Enhancer
• Since there is a one-to-one mapping from the Physical Entity to the
Virtual Entity, for each physical model, its virtual side can be
generated.
• The generated virtual side can be further refined manually.
• Takes as input an xWoT Model and generates a new, enhanced
xWoT Model.
• Where additional information is needed, the compiler asks for user
input.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (rev)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (rev)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Model Compiler
• Once the model finished, it can be compiled into code skeletons.
• The compiler takes care of:
• Resources hierarchy.
• Allowed Methods.
• It can generate:
• Python Code (Autobahn)
• Node.js
• Etc.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Model Compiler
• Takes as input an xWoT model and automatically
generates a REST service for each component.
• Each components contains code skeletons to be filled in
by the developer.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Door Example (rev)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Reusability
• The Compiler takes care of:
• The reusability of the generated components.
• To create a new RESTful service for each Composite
(according to the composed flag).
• Of the Application Scenario Service
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Room Example (UC)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Smart Room Example (UC)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
METHODOLOGY
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Three Steps
• Entity Modeling (blue)
• Data Modeling (green)
• Implementation (yellow)
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Methodology
Implement HTTP
Responses
Define Entity
Model Entity
Physical
2
Virtual
REST
Skeleton
Model
Physical Entity
Model
Virtual Entity
Refine
Virtual Entity
Create Sever
Skeleton
Link Code to
Hardware
Build
Hardware
Model Representations
Create
XSD
Create Code
Artifacts
Model Database
Create
ERM
Forward
Engineer
DB
Create
Code
Artifacts
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
S2Mashup
Smart, Semantic Mashup Editor
Ingredients
• Consumer friendly Mashup Editor (drag and drop).
• Include Semantics:
• Discovery.
• Late-Binding.
• (Semi)-Automatic-Binding.
• Write once, deploy everywhere.
08/07/2015
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
DISCOVERY
A quick Outlook
08/07/2015
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
Requirements
• Implement a discovery mechanism respecting RESTful
principles (as far as applicable).
• Inject semantics into the discovery based on the meta-
model.
• Extend semantics depending on a situation’s needs.
• Adopt current standards (JSON-LD, Tuples)
08/07/2015
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
Limitations
• Implementation based on multicast/unicast between
devices.
• Limited to the multicast network boundaries.
• Startup a little wiggly.
08/07/2015
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
Demo
08/07/2015
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
CONCLUSION
& Outlook
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Benefits
• Allow fast prototyping.
• Support developers.
• Give end users the possibility to build re-usable mashup
applications.
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT
08/07/2015
Future Work
• Bring the different projects together
• S2Mashup
• Semantics
• Discovery
• Meta-Model
• Propose a fully integrated tool for developers as well as
for end users to either create new smart Things or exploit
deployed ones.
08/07/2015
Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen |
A Model-Driven, Component Generation Approach for the WoT

More Related Content

Viewers also liked

A component based architecture for the Web of Things
A component based architecture for the Web of ThingsA component based architecture for the Web of Things
A component based architecture for the Web of ThingsAndreas Ruppen
 
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...Andrei Ciortea
 
Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.Jollen Chen
 
WoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsWoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsSimon Mayer
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Jollen Chen
 
Enabling reactive cities with the iFLUX middleware
Enabling reactive cities with the iFLUX middlewareEnabling reactive cities with the iFLUX middleware
Enabling reactive cities with the iFLUX middlewareOlivier Liechti
 

Viewers also liked (6)

A component based architecture for the Web of Things
A component based architecture for the Web of ThingsA component based architecture for the Web of Things
A component based architecture for the Web of Things
 
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...
 
Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.
 
WoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsWoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of Things
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
 
Enabling reactive cities with the iFLUX middleware
Enabling reactive cities with the iFLUX middlewareEnabling reactive cities with the iFLUX middleware
Enabling reactive cities with the iFLUX middleware
 

Similar to Presentation evrythng

Karuta: Design Your Own Portfolio Process
Karuta: Design Your Own Portfolio ProcessKaruta: Design Your Own Portfolio Process
Karuta: Design Your Own Portfolio ProcessJanice Smith
 
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...PERICLES_FP7
 
TAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTanja Vos
 
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...Manuel Castro
 
TAROT2013 Testing School - Tanja Vos presentation
TAROT2013 Testing School - Tanja Vos presentationTAROT2013 Testing School - Tanja Vos presentation
TAROT2013 Testing School - Tanja Vos presentationHenry Muccini
 
Service Engineering, ZHAW for CeBIT
Service Engineering, ZHAW for CeBITService Engineering, ZHAW for CeBIT
Service Engineering, ZHAW for CeBITAmrita Prasad
 
RECAP at ETSI Experiential Network Intelligence (ENI) Meeting
RECAP at ETSI Experiential Network Intelligence (ENI) MeetingRECAP at ETSI Experiential Network Intelligence (ENI) Meeting
RECAP at ETSI Experiential Network Intelligence (ENI) MeetingRECAP Project
 
A Customizable Methodology for the Model-driven Engineering of Service-based ...
A Customizable Methodology for the Model-driven Engineering of Service-based ...A Customizable Methodology for the Model-driven Engineering of Service-based ...
A Customizable Methodology for the Model-driven Engineering of Service-based ...Brian Elvesæter
 
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
Object-oriented design patterns  in UML [Software Modeling] [Computer Science...Object-oriented design patterns  in UML [Software Modeling] [Computer Science...
Object-oriented design patterns in UML [Software Modeling] [Computer Science...Ivano Malavolta
 
Cyber-physical systems Industrial applications in the CPSwarm Project
Cyber-physical systems Industrial applications in the CPSwarm ProjectCyber-physical systems Industrial applications in the CPSwarm Project
Cyber-physical systems Industrial applications in the CPSwarm ProjectAlessandra Bagnato
 
Modelsward 2018 Industrial Track - Alessandra Bagnato
Modelsward 2018 Industrial Track - Alessandra BagnatoModelsward 2018 Industrial Track - Alessandra Bagnato
Modelsward 2018 Industrial Track - Alessandra BagnatoAlessandra Bagnato
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Daniel Mendez
 
Synchrophasor Applications Facilitating Interactions between Transmission and...
Synchrophasor Applications Facilitating Interactions between Transmission and...Synchrophasor Applications Facilitating Interactions between Transmission and...
Synchrophasor Applications Facilitating Interactions between Transmission and...Luigi Vanfretti
 
Opencast Project Update at Open Apereo 2015
Opencast Project Update at Open Apereo 2015Opencast Project Update at Open Apereo 2015
Opencast Project Update at Open Apereo 2015Stephen Marquard
 

Similar to Presentation evrythng (20)

Karuta: Design Your Own Portfolio Process
Karuta: Design Your Own Portfolio ProcessKaruta: Design Your Own Portfolio Process
Karuta: Design Your Own Portfolio Process
 
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
 
TAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - Italy
 
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
 
TAROT2013 Testing School - Tanja Vos presentation
TAROT2013 Testing School - Tanja Vos presentationTAROT2013 Testing School - Tanja Vos presentation
TAROT2013 Testing School - Tanja Vos presentation
 
Service Engineering, ZHAW for CeBIT
Service Engineering, ZHAW for CeBITService Engineering, ZHAW for CeBIT
Service Engineering, ZHAW for CeBIT
 
RECAP at ETSI Experiential Network Intelligence (ENI) Meeting
RECAP at ETSI Experiential Network Intelligence (ENI) MeetingRECAP at ETSI Experiential Network Intelligence (ENI) Meeting
RECAP at ETSI Experiential Network Intelligence (ENI) Meeting
 
VILLAS Concept
VILLAS ConceptVILLAS Concept
VILLAS Concept
 
A Web-­Based Simulator for a Discrete Manufacturing System
A Web-­Based Simulator for a Discrete  Manufacturing SystemA Web-­Based Simulator for a Discrete  Manufacturing System
A Web-­Based Simulator for a Discrete Manufacturing System
 
A Customizable Methodology for the Model-driven Engineering of Service-based ...
A Customizable Methodology for the Model-driven Engineering of Service-based ...A Customizable Methodology for the Model-driven Engineering of Service-based ...
A Customizable Methodology for the Model-driven Engineering of Service-based ...
 
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
Object-oriented design patterns  in UML [Software Modeling] [Computer Science...Object-oriented design patterns  in UML [Software Modeling] [Computer Science...
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
 
Cyber-physical systems Industrial applications in the CPSwarm Project
Cyber-physical systems Industrial applications in the CPSwarm ProjectCyber-physical systems Industrial applications in the CPSwarm Project
Cyber-physical systems Industrial applications in the CPSwarm Project
 
AntoineLambertResume
AntoineLambertResumeAntoineLambertResume
AntoineLambertResume
 
Modelsward 2018 Industrial Track - Alessandra Bagnato
Modelsward 2018 Industrial Track - Alessandra BagnatoModelsward 2018 Industrial Track - Alessandra Bagnato
Modelsward 2018 Industrial Track - Alessandra Bagnato
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...
 
Dolap13 v9 7.docx
Dolap13 v9 7.docxDolap13 v9 7.docx
Dolap13 v9 7.docx
 
Javantura Zagreb 2014 - universAAL - Andrej Grgurić
Javantura Zagreb 2014 - universAAL - Andrej GrgurićJavantura Zagreb 2014 - universAAL - Andrej Grgurić
Javantura Zagreb 2014 - universAAL - Andrej Grgurić
 
Synchrophasor Applications Facilitating Interactions between Transmission and...
Synchrophasor Applications Facilitating Interactions between Transmission and...Synchrophasor Applications Facilitating Interactions between Transmission and...
Synchrophasor Applications Facilitating Interactions between Transmission and...
 
New
NewNew
New
 
Opencast Project Update at Open Apereo 2015
Opencast Project Update at Open Apereo 2015Opencast Project Update at Open Apereo 2015
Opencast Project Update at Open Apereo 2015
 

More from Andreas Ruppen

A proof of concept implementation of a secure e-commerce authentication scheme
A proof of concept implementation of a secure e-commerce authentication schemeA proof of concept implementation of a secure e-commerce authentication scheme
A proof of concept implementation of a secure e-commerce authentication schemeAndreas Ruppen
 
A model-driven, component generation approach for the xWoT
A model-driven, component generation approach for the xWoTA model-driven, component generation approach for the xWoT
A model-driven, component generation approach for the xWoTAndreas Ruppen
 
Debugging with NetBeans IDE
Debugging with NetBeans IDEDebugging with NetBeans IDE
Debugging with NetBeans IDEAndreas Ruppen
 
An Approach for a Mutual Integration of the WoT with Business Processes
An Approach for a Mutual Integration of the WoT with Business ProcessesAn Approach for a Mutual Integration of the WoT with Business Processes
An Approach for a Mutual Integration of the WoT with Business ProcessesAndreas Ruppen
 
A WoT Approach to eHealth
A WoT Approach to eHealthA WoT Approach to eHealth
A WoT Approach to eHealthAndreas Ruppen
 
A RESTful architecture for integrating decomposable delayed services within t...
A RESTful architecture for integrating decomposable delayed services within t...A RESTful architecture for integrating decomposable delayed services within t...
A RESTful architecture for integrating decomposable delayed services within t...Andreas Ruppen
 

More from Andreas Ruppen (7)

A proof of concept implementation of a secure e-commerce authentication scheme
A proof of concept implementation of a secure e-commerce authentication schemeA proof of concept implementation of a secure e-commerce authentication scheme
A proof of concept implementation of a secure e-commerce authentication scheme
 
A model-driven, component generation approach for the xWoT
A model-driven, component generation approach for the xWoTA model-driven, component generation approach for the xWoT
A model-driven, component generation approach for the xWoT
 
REST and eHealth
REST and eHealthREST and eHealth
REST and eHealth
 
Debugging with NetBeans IDE
Debugging with NetBeans IDEDebugging with NetBeans IDE
Debugging with NetBeans IDE
 
An Approach for a Mutual Integration of the WoT with Business Processes
An Approach for a Mutual Integration of the WoT with Business ProcessesAn Approach for a Mutual Integration of the WoT with Business Processes
An Approach for a Mutual Integration of the WoT with Business Processes
 
A WoT Approach to eHealth
A WoT Approach to eHealthA WoT Approach to eHealth
A WoT Approach to eHealth
 
A RESTful architecture for integrating decomposable delayed services within t...
A RESTful architecture for integrating decomposable delayed services within t...A RESTful architecture for integrating decomposable delayed services within t...
A RESTful architecture for integrating decomposable delayed services within t...
 

Recently uploaded

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

Presentation evrythng

  • 1. A Model-Driven, Component Generation Approach for the WoT University of Fribourg
  • 2. Overview • Vision • Short Technological Background • The xWoT • A component approach for the xWoT • Meta-Modeling • The xWoT Compiler • S2Mashup Editor • Semantic Discovery for the xWoT Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 3. INTRODUCTION & Vision Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 4. Vision • Instead of finding better approaches on how to combine smart devices we have to re-think how to build smart devices. • The current WoT needs to be extended to take into consideration algorithms and handle events gracefully. • Re-usable and easy to deploy components, taking care of aspects like events (and discovery in the future) are the way out of the “things- crisis”. • Adopt Model Driven Architecture. • Allow Models to be enhanced semantically. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 5. BACKGROUND Historical and Technological Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 6. Software Components • According to Cox the solution to the software crisis in the early 80’s. • A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties. (Szyperski) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 7. Meta-Model • Given • α:S→M • Then • ∃ SUS1, SUS2 ∈ S| α(SUS1) = α(SUS2) ⇏SUS1 = SUS2 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 8. Meta-Model • Given • α′ : M → MM • Then • ∃ m1,m2 ∈ M | α′ (m1) = α′(m2) ⇏ m1 = m2 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 9. The xWoT An Extension for the WoT Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 10. WoT Problems • Data Integration: Treat Algorithms and other RESTful services as first class citizens. • Event Architecture: Define a common event architecture suitable for a wide range of applications. • Building Blocks: Introduce components as the building blocks of the xWoT. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 11. Data Integration • Mashups already rely on services like Facebook or Twitter. • How to turn a Book into a Smart-Book? • Leveraging the power of established computational resources to the WoT, e.g. Business Processes. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 12. Events • Today: use of IoTaaS platforms like Xively. • Problem: Smart-Devices are no longer WoT Compliant. Instead the IoTaaS Platform is. • Events must propagate in an (energy) efficient manner. • WebHooks: spare events, alerting • WebSockets: many events, live monitoring Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 13. Components • Hide the inner guts from clients. • Define a clear interface for users (RESTful). • Build reusable components. • Use Meaningful URIs. • Use Predictable URIs (plus HATEOAS) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 14. Formal Definition • The extended WoT is a web made of sensors, actuators and tags forming the classical WoT plus services respecting RESTful principles. • The aim of the xWoT is to introduce a standard approach on how to design the building blocks for novel applications and mashups exploiting the capabilities offered by smart things and other virtual goods. To achieve this goal, the xWoT introduces a component- based methodology which is underlined by a meta-model guiding the developers during crucial architectural decisions. Finally, since the architecture respects the xWoT’s meta-model, component skeletons are generated out of the specifications. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 15. COMPONENTS Reusable xWoT Components Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 16. Corridor - ExampleUniversité de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 17. Expected Output • One component representing the corridor. • One component for each instantiated corridor. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 18. SmartDoor Component http://service1.com/door/ GET http://service1.com/door/oc/ GET / PUT http://service1.com/door/oc/pub/ various http://service1.com/door/lu/ GET / PUT http://service1.com/door/lu/pub/ various SmartCorridor http://service2.com/corridor/ GET http://service2.com/corridor/{id} GET http://service2.com/corridor/{id}/oc GET / PUT http://service2.com/corridor/{id}/oc/pub/ various http://service2.com/corridor/{id}/lu/ GET / PUT
  • 19. META-MODELING The xWoT Meta-Model Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 20. Partial xWoT Meta-Model Virtual Entity Resource Actuator Resource Sensor Resource Service Resource 1..* Publisher Resource Context Resource Physical Entity Entity 0..1 1 DeviceTag SensorActuator 1..* Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 21. Full xWoT Meta-Model Virtual Entity Resource Actuator Resource Sensor Resource Service Resource 1..* Publisher Resource Context Resource Physical Entity Entity 0..1 1 DeviceTag SensorActuator 1..* name: EString method: MethodOperation output: MethodOutput input: MethodInput Method style: MethodStyle MethodParam style: MethodStyle VEntityParam name: EString type: EString Param TEMPLATE QUERY MethodStyle XMLJSON MULTIPARTRELATED FORM NONE MethodInput XMLJSON MULTIPARTRELATED FORM NONE MethodOutput GET PUT POST DELETE MethodOperation 0..* 0..* 0..* Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 22. Smart Door Example (UC) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 23. Smart Door Example (HW) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 24. Smart Door Example (M) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 25. Smart Door Example (M) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 26. Smart Door Example (M) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 27. Smart Door Example (M) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 28. Smart Door Example (M) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 29. COMPILER A Model Compiler for the xWoT Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 30. Model Enhancer • Since there is a one-to-one mapping from the Physical Entity to the Virtual Entity, for each physical model, its virtual side can be generated. • The generated virtual side can be further refined manually. • Takes as input an xWoT Model and generates a new, enhanced xWoT Model. • Where additional information is needed, the compiler asks for user input. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 31. Smart Door Example (rev) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 32. Smart Door Example (rev) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 33. Model Compiler • Once the model finished, it can be compiled into code skeletons. • The compiler takes care of: • Resources hierarchy. • Allowed Methods. • It can generate: • Python Code (Autobahn) • Node.js • Etc. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 34. Model Compiler • Takes as input an xWoT model and automatically generates a REST service for each component. • Each components contains code skeletons to be filled in by the developer. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 35. Smart Door Example (rev) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 36. Reusability • The Compiler takes care of: • The reusability of the generated components. • To create a new RESTful service for each Composite (according to the composed flag). • Of the Application Scenario Service Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 37. Smart Room Example (UC) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 38. Smart Room Example (UC) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 39. METHODOLOGY Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 40. Three Steps • Entity Modeling (blue) • Data Modeling (green) • Implementation (yellow) Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 41. Methodology Implement HTTP Responses Define Entity Model Entity Physical 2 Virtual REST Skeleton Model Physical Entity Model Virtual Entity Refine Virtual Entity Create Sever Skeleton Link Code to Hardware Build Hardware Model Representations Create XSD Create Code Artifacts Model Database Create ERM Forward Engineer DB Create Code Artifacts Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 43. Ingredients • Consumer friendly Mashup Editor (drag and drop). • Include Semantics: • Discovery. • Late-Binding. • (Semi)-Automatic-Binding. • Write once, deploy everywhere. 08/07/2015 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT
  • 44. 08/07/2015 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT
  • 45. 08/07/2015 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT
  • 46. DISCOVERY A quick Outlook 08/07/2015 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT
  • 47. Requirements • Implement a discovery mechanism respecting RESTful principles (as far as applicable). • Inject semantics into the discovery based on the meta- model. • Extend semantics depending on a situation’s needs. • Adopt current standards (JSON-LD, Tuples) 08/07/2015 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT
  • 48. Limitations • Implementation based on multicast/unicast between devices. • Limited to the multicast network boundaries. • Startup a little wiggly. 08/07/2015 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT
  • 49. Demo 08/07/2015 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT
  • 50. CONCLUSION & Outlook Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 51. Benefits • Allow fast prototyping. • Support developers. • Give end users the possibility to build re-usable mashup applications. Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT 08/07/2015
  • 52. Future Work • Bring the different projects together • S2Mashup • Semantics • Discovery • Meta-Model • Propose a fully integrated tool for developers as well as for end users to either create new smart Things or exploit deployed ones. 08/07/2015 Université de fribourg | FACULTÉ des sciences | Andreas / Ruppen | A Model-Driven, Component Generation Approach for the WoT