SlideShare a Scribd company logo
1 of 40
Enabling High-Level Application
Development for Internet of Things
Pankesh Patel, Animesh Pathak, Damien Cassou, and Valerie Issarny
Inria Paris Rocquencourt, France
S-CUBE, 12th June, 2013
Outline
 Characteristics of Internet of Things
 Application development challenges
 Related work
 Our approach
 Overview
 A simple example
 Evaluation
 Conclusions
 Ongoing and future work
Pankesh Patel et. al.2
Characteristics of ``things’’
 May have sensors
attached
 May have actuators
attached
 Can communicate with
other things
 Can be involved in
information exchange
between physical and
virtual world
Pankesh Patel et. al.3
Internet of Things
 A networked infrastructure that connects physical
and virtual things.
[CASAGRAS project] http://www.grifs-project.eu/data/File/CASAGRAS%20FinalReport%20(2).pdf
Pankesh Patel et. al.4
Marriage of sensor network and pervasive
computing
Pankesh Patel et. al.5
Internet of things
Sensor network Pervasive computing
Large
Scale
Heterogeneity
[IoTRoadMap] Antoine de Saint-Exupery, Internet of Things Strategic Research Roadmap,
2009
Multiple application domains
Pankesh Patel et. al.6
Building
Automation
Traffic Control
and Management Health-care
Internet of things
[IoTSurvey] Luigi Atzori, Antonio lera, Giacomo Morabito, The internet of Things Survey,
2010
Outline
 Characteristics of Internet of Things
 Application development challenges
 Related work
 Our approach
 Overview
 A simple example
 Evaluation
 Conclusion
 Ongoing and future work
Pankesh Patel et. al.7
Application Development Challenges
 Heterogeneity
 Types (e.g., sensor, actuator,
storage).
 Implementations (e.g., android,
iOS).
 Unit of measurement (e.g., C,
F).
 Interaction modes
(e.g., publish/subscribe,
request/response, command).
8 Pankesh Patel et. al.
Ideally, it should not be the developer's responsibility
to handle this heterogeneity.
Application Development Challenges
 Heterogeneity
 Large Scale
 Hundreds to thousands
of devices equipped with
sensors, actuators,
storages.
9 Pankesh Patel et. al.
Need of adequate abstractions to present the large
scale in suitable manner .
Application Development Challenges
 Heterogeneity
 Large Scale
 Multiple expertise
Application domain
Software design
Programming
Language
Distributed system
Device-specific
knowledge
10 Pankesh Patel et. al.
Need of separating all development concerns
according to the stakeholders expertise and skills
Application Development Challenges
 Heterogeneity
 Large Scale
 Multiple Expertise
 Poor Automation
 Interface hardware and
software components
 Interface software and
middleware components
 Deployment
11 Pankesh Patel et. al.
Ideally, the glue code should be generated, allowing
the stakeholders to focus only on the application
logic.
Distributed Systems
(i.e., middleware)
Application logic
(e.g., calculating avg.
temperature)
Device drivers
(e.g. code for accessing sensor
data from android device)
Application logic
(e.g., calculating avg.
temperature)
Outline
 Characteristics of IoT
 Application development challenges
 Related work
 Our approach
 Overview
 A simple example
 Evaluation
 Conclusion
 Ongoing and future work
Pankesh Patel et. al.12
Related work
Approaches Motivation Examples Disadvantages
Database • Provide SQL-like
interface
• Address scale for data-
collecting application
• TinyDB
• Cougar
• SINA
• Largely for homogeneous
devices
• Missing development life-
cycle
Library- or
toolkit based
• Offer abstractions to
implement applications
• Address heterogeneity
partially
• Gaia with Olympus
• Context toolkit
• Lots of glue code
• Poor automation at
deployment
• No separation of concerns
for stakeholders
• Missing development life-
cycle
Model-driven • Raise the level of
abstractions in program
specifications (in
UML/textual language)
and transforms into
working implementations
• ATaG
• DiaSuite
• PervML
• Only cover a limited
subset of requirements
Pankesh Patel et. al.13
Outline
 Characteristics of IoT
 Application development challenges
 Related work
 Our approach
 Overview
 A simple example
 Evaluation
 Conclusion
 Ongoing and future work
Pankesh Patel et. al.14
Application development methodology
Pankesh Patel et. al.15
Research Challenges Solution
Multiple expertise Clear division of roles of stakeholders.
Poor Automation Code generators and deployment modules
(mapper and linker).
Heterogeneity Abstractions in modeling languages.
Scale Abstractions in modeling language.
Pankesh Patel et. al.16
Domain
Expert
Domain
Specification
Specify
Input
Refer
Output
1 Application domain specification using
vocabulary language
• Regions (e.g., room, floor, building)
• Sensors (e.g. temp. sensor, smoke
detector)
• Actuators (e.g., heater, alarm)
• Storages
Domain Specification
Pankesh Patel et. al.17
Architecture Specification
Application
Designer
Architecture
Specification
2
Domain
Expert
Vocabulary
Specification
1
Architecture specification using architecture
language.
• Computational components (e.g., calculating
avg. temp, detecting fire)
• Interactions among computational
components
Specify
Input
Refer
Output
Pankesh Patel et. al.18
Implementing Software Component
System
Designer
Architecture
Specification
2
Application
Logic
Application
Developer
Framework
Generator
Application
Framework
3
4
Domain
Expert
Vocabulary
Specification
1
Generated application framework in
general purpose language.
Application developers writes application logic
(e.g. Java code for calculating avg. temp. ) on
top of programming framework.
Specify
Input
Refer
Output
Pankesh Patel et. al.19
Target Deployment Specification
System
Designer
Architecture
Specification
2
Application
Logic
Application
Developer
Framework
Generator
Application
Framework
4
Network
Manager
Deployment
description
Domain
Expert
Vocabulary
Specification
1
3
5
Target deployment using deployment language.
• Device region
• Device properties
• Type ( android, Sunspot)
• Name
• Mobile ( true or false)
• Identification
Specify
Input
Refer
Output
Pankesh Patel et. al.20
Mapping
Application
Designer
Architecture
Specification
2
Application
Logic
Application
Developer
Framework
Generator
Application
Framework
3
4
Network
Manager
5
Network
description
Mapper
Mapping
files
6
Decides the specific device where
each software component will be
running.
Domain
Expert
Vocabulary
Specification
1
Specify
Input
Refer
Output
Pankesh Patel et. al.21
Writing Device-Drivers
Application
Designer
Architecture
Specification
2
Application
Logic
Application
Developer
Framework
Generator
Application
Framework
3
4
Network
Manager
5
Deployment
description
Mapper
Mapping
files
6
Domain
Expert
Vocabulary
Specification
1
Device
DeveloperDevice
Drivers
7
Writes device drivers
• sensor driver
• actuator driver
• storage driver
Specify
Input
Refer
Output
Pankesh Patel et. al.22
Linking
Application
Designer
Architecture
Specification
2
Application
Logic
Application
Developer
Framework
Generator
Application
Framework
3
4
7
Device
DeveloperDevice
Drivers
Network
Manager
5
Deployment
description
Mapper
Mapping
files
6
System Linker
8 Combines the generated code
into the actual code to be
deployed on the real devices.
Domain
Expert
Vocabulary
Specification
1
Specify
Input
Refer
Output
Pankesh Patel et. al.23
Application development methodology
Application
Designer
Architecture
Specification
2
Application
Logic
Application
Developer
Framework
Generator
Application
Framework
3
4
7
Device
DeveloperDevice
Drivers
Network
Manager
5
Deployment
description
Mapper
Mapping
files
6
System Linker
8
Domain
Expert
Vocabulary
Specification
1
Specify
Input
Refer
Output
Example:
Smart Buildings
Smart Buildings
Building 1
Alarm
25 Pankesh Patel et. al.
Building 2
Building 3
Smart Buildings
Building 1
Smoke detector Temperature sensor
Fire Computation
Fire Computation
Fire Computation
Alarm
Temperature
Sensor
Smoke
Detector
FireStat
e
FireStat
e
FireStat
e
Fire
Computation
Fire
State
Fire
Detect
Fire
Detect
Alarm
Room
Floor
Information
Sources
(E.g., Sensor, Storage)
Computational
components
On( )
temp
Measurement
Smoke
Presence
26 Pankesh Patel et. al.
Actuators
(e.g., alarm, twitter )
Buildin
g
Domain Specification: Information sources
Temperature
Sensor
Smoke
Detector
Fire
Computation
Fire
State
Fire
Detect
Alarm
Room
Buildin
g
Floor
Information
Sources
(E.g., Sensor, Storage)
Computational
components
On( )
temp
Measurement
Smoke
Presence
TempStruct
tempValue : double ;
unitOfMeasurement : String ;
TemperatureSensor
generate tempMeasurement: TempStruct;
• One entity description for many
implementations (e.g., Android, SunSpot).
• One entity description for many instances.
27 Pankesh Patel et. al.
Actuators
(e.g., alarm, twitter )
Domain Specification: Actuators
Temperature
Sensor
Smoke
Detector
Fire
Computation
Fire
State
Fire
Detect
Alarm
Room
Buildin
g
Floor
Information
Sources
(E.g., Sensor, Storage)
Computational
components
On( )
temp
Measurement
Smoke
Presence
Alarm
action On();
28 Pankesh Patel et. al.
Actuators
(e.g., alarm, twitter )
Architecture Specification:
computational components
Temperature
Sensor
Smoke
Detector
Fire
Computation
Fire
State
Fire
Detect
Alarm
Room
Buildin
g
Floor
Information
Sources
(E.g., Sensor, Storage)
Computational
components
On( )
temp
Measurement
Smoke
Presence
FireComputation
consume tempMeasurement from hops : 0 : Room;
consume smokePresence from hops : 0 : Room;
generate FireComputation : FireStruct ;
in-region : Room
Scope of consuming
data.
Scope of
Deployment
Scope of consuming and scope of deployment
enables hierarchical clustering.
29 Pankesh Patel et. al.
Actuators
(e.g., alarm, twitter )
Generating framework and implementing
application logic
FireComputation
consume tempMeasurement from hops : 0 : Room;
consume smokePresence from hops : 0 : Room;
generate FireComputation : FireStruct ;
in-region : Room
public void notifiedReceived (String event Name, Object arg,
Device deviceInfo) {
if (eventName.equals(“tempMeasurement”) {
onNewSmokePresence ((TempStruct) arg) ;
}
}
public abstract void onNewSmokePresence(TempStruct arg);
Compiler
generates
Programme
r
implements
application
logic
30 Pankesh Patel et. al.
Evaluation of our approach (1/2)
31
Goal of our evaluation:
• To demonstrate the advantage of our approach over manual
application development approach.
Pankesh Patel et. al.
Component
Type
Office environment
application
Fire
Detect
Sensing Temperature Sensor,
BadgeReader
Temperature Sensor
Smoke Detector
Actuating Heater
Monitor
Door, Alarm,
SprinklerSystem,
Light
Storage ProfileDB -
Computational RoomAvgTemp,
FloorAvgTemp,
BuildingAvgTemp,
Proximity,
RegulateTemp,
DisplayTemp
HouseFireComputatio
n,
HouseFireComputatio
n,
HcFireComputation,
HouseFireController
HcFireController
Evaluation of our approach (2/2)
32
*Lines of code using Metrics 1.3.6 Eclipse plugin, ** Code coverage using EclEmma Eclipse plugin.
Development efforts:
• It is directly proportional to the lines of code.
• The more hand-written lines of code there is, the efforts required to
develop application is longer.
Pankesh Patel et. al.
Specificati
on
7%
Application
logic
10%
Device
Drivers
9%
Generated
code*
74%
Lines of Code
Office environment
management
Executed code**
90.7 %
Fire Detect
Specificatio
n
7% Application
logic
9%
Device
drivers
12%
Generated
code
72%
Lines of code
Executed code**
93.7 %
Outline
 Characteristics of IoT
 Application development challenges
 Related work
 Our approach
 Overview
 A simple example
 Evaluation
 Conclusion
 Ongoing and future work
Pankesh Patel et. al.33
Conclusion
Challenges Solved in our approach
Abstracting
Heterogeneity
• Vocabulary language (Different types of resources ,
Different types of implementations)
• Architecture language (different types of interactions)
Abstracting Scale • Architecture and vocabulary language ( Scope constructs)
Multiple Expertise • Separation of concern
Poor Automation • Compiler generates Programming framework, mapper and
linker module
34 Pankesh Patel et. al.
Outline
 Characteristics of IoT
 Application development challenges
 Related work
 Our approach
 Overview
 A simple example
 Evaluation
 Conclusion
 Ongoing and future work
Pankesh Patel et. al.35
Ongoing and future work
Pankesh Patel et. al.36
 Evaluation
 Current evaluation is
preliminary.
 Need to look at
 Reusability
 Expressiveness of our
modeling languages.
 Development efforts on
real devices and real
middleware
Ongoing and future work
Pankesh Patel et. al.37
 Evaluation
 Development life-cycle
and future changes
 Change in application
requirements
 Change in deployment
infrastructure
 Evolution in device
drivers
Design
Implementation
Deployment
Future changes
Ongoing and future work
Pankesh Patel38
 Evaluation
 Development life-cycle
and future changes
 End-user applications
 Originator: an user
triggers an event or
query to the application.
 Recipient: an user is
notified a final results by
the application.
 Abstractions for
specifying end-user
interfaces.
 Possible User interface
description languages
(UIDLs) to look
 UIML
 UsiXML
 XUL
 Others
Ongoing and future work
Pankesh Patel et. al.39
 Evaluation
 Development life-cycle
and future changes
 End-user applications
 Integrated Toolkit
 Eclipse plugin for the
stakeholders involved in
application development
process
Thanks for listening to me 
pankesh.patel@inria.fr
Pankesh Patel et. al.40

More Related Content

What's hot

Aj old presentation - pssc research-pt_
Aj   old presentation - pssc research-pt_Aj   old presentation - pssc research-pt_
Aj old presentation - pssc research-pt_ajackson12
 
Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Intellipaat
 
Tech leaders guide to effective building of machine learning products
Tech leaders guide to effective building of machine learning productsTech leaders guide to effective building of machine learning products
Tech leaders guide to effective building of machine learning productsGianmario Spacagna
 
Bradley Lin Wan Resume
Bradley Lin Wan ResumeBradley Lin Wan Resume
Bradley Lin Wan ResumeLin Wan
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.Intel® Software
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldLorna Mitchell
 
Zaid_Ahmed_Resume_30th_Oct_2015
Zaid_Ahmed_Resume_30th_Oct_2015Zaid_Ahmed_Resume_30th_Oct_2015
Zaid_Ahmed_Resume_30th_Oct_2015Sheikh Zaid Ahmed
 
BroadcomEthernetPacketAnalyzer
BroadcomEthernetPacketAnalyzerBroadcomEthernetPacketAnalyzer
BroadcomEthernetPacketAnalyzerAkshans Verma
 

What's hot (20)

Jeevananthan_Informatica
Jeevananthan_InformaticaJeevananthan_Informatica
Jeevananthan_Informatica
 
resume
resumeresume
resume
 
Raghavendra Gupta Resume
Raghavendra  Gupta  ResumeRaghavendra  Gupta  Resume
Raghavendra Gupta Resume
 
Aj old presentation - pssc research-pt_
Aj   old presentation - pssc research-pt_Aj   old presentation - pssc research-pt_
Aj old presentation - pssc research-pt_
 
Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...
 
AUK - CV WO Ref
AUK - CV WO RefAUK - CV WO Ref
AUK - CV WO Ref
 
Shivaprasada_Kodoth
Shivaprasada_KodothShivaprasada_Kodoth
Shivaprasada_Kodoth
 
Tech leaders guide to effective building of machine learning products
Tech leaders guide to effective building of machine learning productsTech leaders guide to effective building of machine learning products
Tech leaders guide to effective building of machine learning products
 
RESUME
RESUMERESUME
RESUME
 
Jeevan_Resume
Jeevan_ResumeJeevan_Resume
Jeevan_Resume
 
Resume
ResumeResume
Resume
 
Bradley Lin Wan Resume
Bradley Lin Wan ResumeBradley Lin Wan Resume
Bradley Lin Wan Resume
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.
 
Resume
ResumeResume
Resume
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
DineshCV (1)
DineshCV (1)DineshCV (1)
DineshCV (1)
 
Abhilash resume
Abhilash resumeAbhilash resume
Abhilash resume
 
Zaid_Ahmed_Resume_30th_Oct_2015
Zaid_Ahmed_Resume_30th_Oct_2015Zaid_Ahmed_Resume_30th_Oct_2015
Zaid_Ahmed_Resume_30th_Oct_2015
 
BroadcomEthernetPacketAnalyzer
BroadcomEthernetPacketAnalyzerBroadcomEthernetPacketAnalyzer
BroadcomEthernetPacketAnalyzer
 
Abhishek _Resume
Abhishek _ResumeAbhishek _Resume
Abhishek _Resume
 

Similar to Enabling high level application development for internet of things

Application Development for the Internet of Things.pptx
Application Development for the Internet of Things.pptxApplication Development for the Internet of Things.pptx
Application Development for the Internet of Things.pptxKabileshCm
 
Final project report format
Final project report formatFinal project report format
Final project report formatMasud Sarkar
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
RESUME_NEHA _SELENIUM
RESUME_NEHA _SELENIUMRESUME_NEHA _SELENIUM
RESUME_NEHA _SELENIUMNeha Samal
 
Arunkumar_profile
Arunkumar_profileArunkumar_profile
Arunkumar_profileArunkumar P
 
ALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineAbdelkrim Boujraf
 
Resume_Appaji
Resume_AppajiResume_Appaji
Resume_AppajiAppaji K
 
OGCE SciDAC2010 Tutorial
OGCE SciDAC2010 TutorialOGCE SciDAC2010 Tutorial
OGCE SciDAC2010 Tutorialmarpierc
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Philipp Leitner
 
Bhadale group of companies - Our project works
Bhadale group of companies - Our project worksBhadale group of companies - Our project works
Bhadale group of companies - Our project worksVijayananda Mohire
 
Webface - Passion is Innovation
Webface - Passion is InnovationWebface - Passion is Innovation
Webface - Passion is InnovationAbhishek kumar
 

Similar to Enabling high level application development for internet of things (20)

Application Development for the Internet of Things.pptx
Application Development for the Internet of Things.pptxApplication Development for the Internet of Things.pptx
Application Development for the Internet of Things.pptx
 
Final project report format
Final project report formatFinal project report format
Final project report format
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Resume
ResumeResume
Resume
 
RESUME_NEHA _SELENIUM
RESUME_NEHA _SELENIUMRESUME_NEHA _SELENIUM
RESUME_NEHA _SELENIUM
 
Arunkumar_profile
Arunkumar_profileArunkumar_profile
Arunkumar_profile
 
Naveen_Toppo
Naveen_ToppoNaveen_Toppo
Naveen_Toppo
 
ALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngine
 
Resume_Appaji
Resume_AppajiResume_Appaji
Resume_Appaji
 
OGCE SciDAC2010 Tutorial
OGCE SciDAC2010 TutorialOGCE SciDAC2010 Tutorial
OGCE SciDAC2010 Tutorial
 
Muruganandam_7years
Muruganandam_7yearsMuruganandam_7years
Muruganandam_7years
 
Prakash_Ganapathy
Prakash_GanapathyPrakash_Ganapathy
Prakash_Ganapathy
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
 
Prasad_Meduri
Prasad_MeduriPrasad_Meduri
Prasad_Meduri
 
Vibin_Jasper_CV
Vibin_Jasper_CVVibin_Jasper_CV
Vibin_Jasper_CV
 
Bhadale group of companies - Our project works
Bhadale group of companies - Our project worksBhadale group of companies - Our project works
Bhadale group of companies - Our project works
 
Raghav_thakkar
Raghav_thakkarRaghav_thakkar
Raghav_thakkar
 
OracleOEP-EWebcast
OracleOEP-EWebcastOracleOEP-EWebcast
OracleOEP-EWebcast
 
Webface - Passion is Innovation
Webface - Passion is InnovationWebface - Passion is Innovation
Webface - Passion is Innovation
 
Amaresh_Ku_Mishra_Resume
Amaresh_Ku_Mishra_ResumeAmaresh_Ku_Mishra_Resume
Amaresh_Ku_Mishra_Resume
 

More from Pankesh Patel

Getting Started for SMEs in Industry 4.0
Getting Started for SMEs in Industry 4.0Getting Started for SMEs in Industry 4.0
Getting Started for SMEs in Industry 4.0Pankesh Patel
 
Hands-on Workshop on Building Digital Twin for Factory of the Future
Hands-on Workshop on Building Digital Twin for Factory of the FutureHands-on Workshop on Building Digital Twin for Factory of the Future
Hands-on Workshop on Building Digital Twin for Factory of the FuturePankesh Patel
 
Software Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsSoftware Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsPankesh Patel
 
System and Software Engineering for Industry 4.0
System and Software Engineering for Industry 4.0System and Software Engineering for Industry 4.0
System and Software Engineering for Industry 4.0Pankesh Patel
 
Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...Pankesh Patel
 
Smart Factory - App Based Quality Monitoring
Smart Factory - App Based Quality MonitoringSmart Factory - App Based Quality Monitoring
Smart Factory - App Based Quality MonitoringPankesh Patel
 
Subject Matter ExpertWorkbench
Subject Matter ExpertWorkbenchSubject Matter ExpertWorkbench
Subject Matter ExpertWorkbenchPankesh Patel
 
IoTSuite User Manual
IoTSuite User ManualIoTSuite User Manual
IoTSuite User ManualPankesh Patel
 
IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
IoTSuite: A Framework to Design, Implement, and Deploy IoT ApplicationsIoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
IoTSuite: A Framework to Design, Implement, and Deploy IoT ApplicationsPankesh Patel
 
Towards application development for the internet of things
Towards application development for the internet of thingsTowards application development for the internet of things
Towards application development for the internet of thingsPankesh Patel
 
Towards application development for the physical cyber-social systems
Towards application development for the physical cyber-social systemsTowards application development for the physical cyber-social systems
Towards application development for the physical cyber-social systemsPankesh Patel
 
A model driven development framework for developing sense-compute-control app...
A model driven development framework for developing sense-compute-control app...A model driven development framework for developing sense-compute-control app...
A model driven development framework for developing sense-compute-control app...Pankesh Patel
 
A tool suite for prototyping internet of things applications
A tool suite for prototyping internet of  things applicationsA tool suite for prototyping internet of  things applications
A tool suite for prototyping internet of things applicationsPankesh Patel
 
Enabling high level application development for internet of things
Enabling high level application development for internet of thingsEnabling high level application development for internet of things
Enabling high level application development for internet of thingsPankesh Patel
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of thingsPankesh Patel
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsPankesh Patel
 
Towards application development for the internet of things updated
Towards application development for the internet of things  updatedTowards application development for the internet of things  updated
Towards application development for the internet of things updatedPankesh Patel
 

More from Pankesh Patel (19)

Getting Started for SMEs in Industry 4.0
Getting Started for SMEs in Industry 4.0Getting Started for SMEs in Industry 4.0
Getting Started for SMEs in Industry 4.0
 
Hands-on Workshop on Building Digital Twin for Factory of the Future
Hands-on Workshop on Building Digital Twin for Factory of the FutureHands-on Workshop on Building Digital Twin for Factory of the Future
Hands-on Workshop on Building Digital Twin for Factory of the Future
 
Cloud Manufacturing
Cloud ManufacturingCloud Manufacturing
Cloud Manufacturing
 
Software Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsSoftware Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 Applications
 
System and Software Engineering for Industry 4.0
System and Software Engineering for Industry 4.0System and Software Engineering for Industry 4.0
System and Software Engineering for Industry 4.0
 
Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...
 
Smart Factory - App Based Quality Monitoring
Smart Factory - App Based Quality MonitoringSmart Factory - App Based Quality Monitoring
Smart Factory - App Based Quality Monitoring
 
Subject Matter ExpertWorkbench
Subject Matter ExpertWorkbenchSubject Matter ExpertWorkbench
Subject Matter ExpertWorkbench
 
IoTSuite User Manual
IoTSuite User ManualIoTSuite User Manual
IoTSuite User Manual
 
IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
IoTSuite: A Framework to Design, Implement, and Deploy IoT ApplicationsIoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
 
Towards application development for the internet of things
Towards application development for the internet of thingsTowards application development for the internet of things
Towards application development for the internet of things
 
Sla in cloud
Sla in cloudSla in cloud
Sla in cloud
 
Towards application development for the physical cyber-social systems
Towards application development for the physical cyber-social systemsTowards application development for the physical cyber-social systems
Towards application development for the physical cyber-social systems
 
A model driven development framework for developing sense-compute-control app...
A model driven development framework for developing sense-compute-control app...A model driven development framework for developing sense-compute-control app...
A model driven development framework for developing sense-compute-control app...
 
A tool suite for prototyping internet of things applications
A tool suite for prototyping internet of  things applicationsA tool suite for prototyping internet of  things applications
A tool suite for prototyping internet of things applications
 
Enabling high level application development for internet of things
Enabling high level application development for internet of thingsEnabling high level application development for internet of things
Enabling high level application development for internet of things
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of Things
 
Towards application development for the internet of things updated
Towards application development for the internet of things  updatedTowards application development for the internet of things  updated
Towards application development for the internet of things updated
 

Recently uploaded

4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 

Recently uploaded (20)

4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 

Enabling high level application development for internet of things

  • 1. Enabling High-Level Application Development for Internet of Things Pankesh Patel, Animesh Pathak, Damien Cassou, and Valerie Issarny Inria Paris Rocquencourt, France S-CUBE, 12th June, 2013
  • 2. Outline  Characteristics of Internet of Things  Application development challenges  Related work  Our approach  Overview  A simple example  Evaluation  Conclusions  Ongoing and future work Pankesh Patel et. al.2
  • 3. Characteristics of ``things’’  May have sensors attached  May have actuators attached  Can communicate with other things  Can be involved in information exchange between physical and virtual world Pankesh Patel et. al.3
  • 4. Internet of Things  A networked infrastructure that connects physical and virtual things. [CASAGRAS project] http://www.grifs-project.eu/data/File/CASAGRAS%20FinalReport%20(2).pdf Pankesh Patel et. al.4
  • 5. Marriage of sensor network and pervasive computing Pankesh Patel et. al.5 Internet of things Sensor network Pervasive computing Large Scale Heterogeneity [IoTRoadMap] Antoine de Saint-Exupery, Internet of Things Strategic Research Roadmap, 2009
  • 6. Multiple application domains Pankesh Patel et. al.6 Building Automation Traffic Control and Management Health-care Internet of things [IoTSurvey] Luigi Atzori, Antonio lera, Giacomo Morabito, The internet of Things Survey, 2010
  • 7. Outline  Characteristics of Internet of Things  Application development challenges  Related work  Our approach  Overview  A simple example  Evaluation  Conclusion  Ongoing and future work Pankesh Patel et. al.7
  • 8. Application Development Challenges  Heterogeneity  Types (e.g., sensor, actuator, storage).  Implementations (e.g., android, iOS).  Unit of measurement (e.g., C, F).  Interaction modes (e.g., publish/subscribe, request/response, command). 8 Pankesh Patel et. al. Ideally, it should not be the developer's responsibility to handle this heterogeneity.
  • 9. Application Development Challenges  Heterogeneity  Large Scale  Hundreds to thousands of devices equipped with sensors, actuators, storages. 9 Pankesh Patel et. al. Need of adequate abstractions to present the large scale in suitable manner .
  • 10. Application Development Challenges  Heterogeneity  Large Scale  Multiple expertise Application domain Software design Programming Language Distributed system Device-specific knowledge 10 Pankesh Patel et. al. Need of separating all development concerns according to the stakeholders expertise and skills
  • 11. Application Development Challenges  Heterogeneity  Large Scale  Multiple Expertise  Poor Automation  Interface hardware and software components  Interface software and middleware components  Deployment 11 Pankesh Patel et. al. Ideally, the glue code should be generated, allowing the stakeholders to focus only on the application logic. Distributed Systems (i.e., middleware) Application logic (e.g., calculating avg. temperature) Device drivers (e.g. code for accessing sensor data from android device) Application logic (e.g., calculating avg. temperature)
  • 12. Outline  Characteristics of IoT  Application development challenges  Related work  Our approach  Overview  A simple example  Evaluation  Conclusion  Ongoing and future work Pankesh Patel et. al.12
  • 13. Related work Approaches Motivation Examples Disadvantages Database • Provide SQL-like interface • Address scale for data- collecting application • TinyDB • Cougar • SINA • Largely for homogeneous devices • Missing development life- cycle Library- or toolkit based • Offer abstractions to implement applications • Address heterogeneity partially • Gaia with Olympus • Context toolkit • Lots of glue code • Poor automation at deployment • No separation of concerns for stakeholders • Missing development life- cycle Model-driven • Raise the level of abstractions in program specifications (in UML/textual language) and transforms into working implementations • ATaG • DiaSuite • PervML • Only cover a limited subset of requirements Pankesh Patel et. al.13
  • 14. Outline  Characteristics of IoT  Application development challenges  Related work  Our approach  Overview  A simple example  Evaluation  Conclusion  Ongoing and future work Pankesh Patel et. al.14
  • 15. Application development methodology Pankesh Patel et. al.15 Research Challenges Solution Multiple expertise Clear division of roles of stakeholders. Poor Automation Code generators and deployment modules (mapper and linker). Heterogeneity Abstractions in modeling languages. Scale Abstractions in modeling language.
  • 16. Pankesh Patel et. al.16 Domain Expert Domain Specification Specify Input Refer Output 1 Application domain specification using vocabulary language • Regions (e.g., room, floor, building) • Sensors (e.g. temp. sensor, smoke detector) • Actuators (e.g., heater, alarm) • Storages Domain Specification
  • 17. Pankesh Patel et. al.17 Architecture Specification Application Designer Architecture Specification 2 Domain Expert Vocabulary Specification 1 Architecture specification using architecture language. • Computational components (e.g., calculating avg. temp, detecting fire) • Interactions among computational components Specify Input Refer Output
  • 18. Pankesh Patel et. al.18 Implementing Software Component System Designer Architecture Specification 2 Application Logic Application Developer Framework Generator Application Framework 3 4 Domain Expert Vocabulary Specification 1 Generated application framework in general purpose language. Application developers writes application logic (e.g. Java code for calculating avg. temp. ) on top of programming framework. Specify Input Refer Output
  • 19. Pankesh Patel et. al.19 Target Deployment Specification System Designer Architecture Specification 2 Application Logic Application Developer Framework Generator Application Framework 4 Network Manager Deployment description Domain Expert Vocabulary Specification 1 3 5 Target deployment using deployment language. • Device region • Device properties • Type ( android, Sunspot) • Name • Mobile ( true or false) • Identification Specify Input Refer Output
  • 20. Pankesh Patel et. al.20 Mapping Application Designer Architecture Specification 2 Application Logic Application Developer Framework Generator Application Framework 3 4 Network Manager 5 Network description Mapper Mapping files 6 Decides the specific device where each software component will be running. Domain Expert Vocabulary Specification 1 Specify Input Refer Output
  • 21. Pankesh Patel et. al.21 Writing Device-Drivers Application Designer Architecture Specification 2 Application Logic Application Developer Framework Generator Application Framework 3 4 Network Manager 5 Deployment description Mapper Mapping files 6 Domain Expert Vocabulary Specification 1 Device DeveloperDevice Drivers 7 Writes device drivers • sensor driver • actuator driver • storage driver Specify Input Refer Output
  • 22. Pankesh Patel et. al.22 Linking Application Designer Architecture Specification 2 Application Logic Application Developer Framework Generator Application Framework 3 4 7 Device DeveloperDevice Drivers Network Manager 5 Deployment description Mapper Mapping files 6 System Linker 8 Combines the generated code into the actual code to be deployed on the real devices. Domain Expert Vocabulary Specification 1 Specify Input Refer Output
  • 23. Pankesh Patel et. al.23 Application development methodology Application Designer Architecture Specification 2 Application Logic Application Developer Framework Generator Application Framework 3 4 7 Device DeveloperDevice Drivers Network Manager 5 Deployment description Mapper Mapping files 6 System Linker 8 Domain Expert Vocabulary Specification 1 Specify Input Refer Output
  • 25. Smart Buildings Building 1 Alarm 25 Pankesh Patel et. al. Building 2 Building 3
  • 26. Smart Buildings Building 1 Smoke detector Temperature sensor Fire Computation Fire Computation Fire Computation Alarm Temperature Sensor Smoke Detector FireStat e FireStat e FireStat e Fire Computation Fire State Fire Detect Fire Detect Alarm Room Floor Information Sources (E.g., Sensor, Storage) Computational components On( ) temp Measurement Smoke Presence 26 Pankesh Patel et. al. Actuators (e.g., alarm, twitter ) Buildin g
  • 27. Domain Specification: Information sources Temperature Sensor Smoke Detector Fire Computation Fire State Fire Detect Alarm Room Buildin g Floor Information Sources (E.g., Sensor, Storage) Computational components On( ) temp Measurement Smoke Presence TempStruct tempValue : double ; unitOfMeasurement : String ; TemperatureSensor generate tempMeasurement: TempStruct; • One entity description for many implementations (e.g., Android, SunSpot). • One entity description for many instances. 27 Pankesh Patel et. al. Actuators (e.g., alarm, twitter )
  • 28. Domain Specification: Actuators Temperature Sensor Smoke Detector Fire Computation Fire State Fire Detect Alarm Room Buildin g Floor Information Sources (E.g., Sensor, Storage) Computational components On( ) temp Measurement Smoke Presence Alarm action On(); 28 Pankesh Patel et. al. Actuators (e.g., alarm, twitter )
  • 29. Architecture Specification: computational components Temperature Sensor Smoke Detector Fire Computation Fire State Fire Detect Alarm Room Buildin g Floor Information Sources (E.g., Sensor, Storage) Computational components On( ) temp Measurement Smoke Presence FireComputation consume tempMeasurement from hops : 0 : Room; consume smokePresence from hops : 0 : Room; generate FireComputation : FireStruct ; in-region : Room Scope of consuming data. Scope of Deployment Scope of consuming and scope of deployment enables hierarchical clustering. 29 Pankesh Patel et. al. Actuators (e.g., alarm, twitter )
  • 30. Generating framework and implementing application logic FireComputation consume tempMeasurement from hops : 0 : Room; consume smokePresence from hops : 0 : Room; generate FireComputation : FireStruct ; in-region : Room public void notifiedReceived (String event Name, Object arg, Device deviceInfo) { if (eventName.equals(“tempMeasurement”) { onNewSmokePresence ((TempStruct) arg) ; } } public abstract void onNewSmokePresence(TempStruct arg); Compiler generates Programme r implements application logic 30 Pankesh Patel et. al.
  • 31. Evaluation of our approach (1/2) 31 Goal of our evaluation: • To demonstrate the advantage of our approach over manual application development approach. Pankesh Patel et. al. Component Type Office environment application Fire Detect Sensing Temperature Sensor, BadgeReader Temperature Sensor Smoke Detector Actuating Heater Monitor Door, Alarm, SprinklerSystem, Light Storage ProfileDB - Computational RoomAvgTemp, FloorAvgTemp, BuildingAvgTemp, Proximity, RegulateTemp, DisplayTemp HouseFireComputatio n, HouseFireComputatio n, HcFireComputation, HouseFireController HcFireController
  • 32. Evaluation of our approach (2/2) 32 *Lines of code using Metrics 1.3.6 Eclipse plugin, ** Code coverage using EclEmma Eclipse plugin. Development efforts: • It is directly proportional to the lines of code. • The more hand-written lines of code there is, the efforts required to develop application is longer. Pankesh Patel et. al. Specificati on 7% Application logic 10% Device Drivers 9% Generated code* 74% Lines of Code Office environment management Executed code** 90.7 % Fire Detect Specificatio n 7% Application logic 9% Device drivers 12% Generated code 72% Lines of code Executed code** 93.7 %
  • 33. Outline  Characteristics of IoT  Application development challenges  Related work  Our approach  Overview  A simple example  Evaluation  Conclusion  Ongoing and future work Pankesh Patel et. al.33
  • 34. Conclusion Challenges Solved in our approach Abstracting Heterogeneity • Vocabulary language (Different types of resources , Different types of implementations) • Architecture language (different types of interactions) Abstracting Scale • Architecture and vocabulary language ( Scope constructs) Multiple Expertise • Separation of concern Poor Automation • Compiler generates Programming framework, mapper and linker module 34 Pankesh Patel et. al.
  • 35. Outline  Characteristics of IoT  Application development challenges  Related work  Our approach  Overview  A simple example  Evaluation  Conclusion  Ongoing and future work Pankesh Patel et. al.35
  • 36. Ongoing and future work Pankesh Patel et. al.36  Evaluation  Current evaluation is preliminary.  Need to look at  Reusability  Expressiveness of our modeling languages.  Development efforts on real devices and real middleware
  • 37. Ongoing and future work Pankesh Patel et. al.37  Evaluation  Development life-cycle and future changes  Change in application requirements  Change in deployment infrastructure  Evolution in device drivers Design Implementation Deployment Future changes
  • 38. Ongoing and future work Pankesh Patel38  Evaluation  Development life-cycle and future changes  End-user applications  Originator: an user triggers an event or query to the application.  Recipient: an user is notified a final results by the application.  Abstractions for specifying end-user interfaces.  Possible User interface description languages (UIDLs) to look  UIML  UsiXML  XUL  Others
  • 39. Ongoing and future work Pankesh Patel et. al.39  Evaluation  Development life-cycle and future changes  End-user applications  Integrated Toolkit  Eclipse plugin for the stakeholders involved in application development process
  • 40. Thanks for listening to me  pankesh.patel@inria.fr Pankesh Patel et. al.40