SlideShare a Scribd company logo
Yann-Gaël Guéhéneuc
This work is licensed under a Creative
Commons Attribution-NonCommercial-
ShareAlike 3.0 Unported License
The IoT Fragmentation, Issues
and Opportunities in Software
Engineering Research
Griottes Team
18/11/30
2/80
Outline
 A Brief History of Software Engineering
 50 years later…
 Causes and Consequences
 IoT Software Engineering
 IoT Software Miniaturisation
3/80
A BRIEF HISTORY OF
SOFTWARE ENGINEERING
4/80
In the Past
 Cost and Budget Overruns
 Property Damage
 Life and Death
 Productivity  Quality
https://en.wikipedia.org/wiki/History_of_software_engineering
5/80https://en.wikipedia.org/wiki/IBM_System/360_Model_65
https://www.goodreads.com/book/show/13629.The_Mythical_Man_Month
6/80https://en.wikipedia.org/wiki/Year_2000_problem
7/80https://hackaday.com/2015/10/26/killed-by-a-machine-the-therac-25/
8/80
Productivity  Quality
http://losnuevosguerreros.org/mod/glossary/view.php?g=1
9/80
50 YEARS LATER...
10/80
From SNs to Home Assistants
http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html
https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot
https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559
https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html
http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html
11/80
From SNs to Home Assistants
SOSUS
1950
http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html
https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot
https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559
https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html
http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html
Trojan Room
1993
Myers et al.
1984
12/80
From SNs to Home Assistants
SOSUS
1950
http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html
https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot
https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559
https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html
http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html
Trojan Room
1993
Myers et al.
1984
2017
Things > People
2008
Berkley PicoRadio
2000
13/80
From OSes to Home Assistants
http://apple.wikia.com/wiki/System_7
https://en.wikipedia.org/wiki/Windows_3.1x
http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/
http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software
https://play.google.com/store/apps/details?id=com.acr.screenshothd
https://www.cultofmac.com/230954/ios-7-in-action-gallery/
https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak
https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO
https://www.cnet.com/products/google-home/review/
14/80
From OSes to Home Assistants
http://apple.wikia.com/wiki/System_7
https://en.wikipedia.org/wiki/Windows_3.1x
http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/
http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software
https://play.google.com/store/apps/details?id=com.acr.screenshothd
https://www.cultofmac.com/230954/ios-7-in-action-gallery/
https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak
https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO
https://www.cnet.com/products/google-home/review/
15/80
From OSes to Home Assistants
http://apple.wikia.com/wiki/System_7
https://en.wikipedia.org/wiki/Windows_3.1x
http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/
http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software
https://play.google.com/store/apps/details?id=com.acr.screenshothd
https://www.cultofmac.com/230954/ios-7-in-action-gallery/
https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak
https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO
https://www.cnet.com/products/google-home/review/
16/80
From OSes to Home Assistants
http://apple.wikia.com/wiki/System_7
https://en.wikipedia.org/wiki/Windows_3.1x
http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/
http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software
https://play.google.com/store/apps/details?id=com.acr.screenshothd
https://www.cultofmac.com/230954/ios-7-in-action-gallery/
https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak
https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO
https://www.cnet.com/products/google-home/review/
17/80
50 Years Later…
 Cost and Budget Overruns
 Property Damage
 Life and Death
 Productivity  Quality
18/80
50 Years Later…
 Cost and Budget Overruns
 Property Damage
 Life and Death
 Productivity  Quality
19/80
50 Years Later…
 Cost and Budget Overruns
“Through 2018, 75 percent of IoT projects
will take up to twice as long as planned.”
—Gartner, 2016
http://www.gartner.com/newsroom/id/3185623
20/80https://newsroom.cisco.com/press-release-content?articleId=1847422
21/80
50 Years Later…
 Property Damage
“Hackers Remotely Kill
a Jeep on the Highway”
—Wired, 2015
https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
22/80https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
23/80
50 Years Later…
 Life and Death
“An estimated 465,000 people in the US
[…] should update the firmware [of their]
pacemakers or risk […] fatal hacks.”
—Ars Technica, 2017
24/80https://arstechnica.com/information-technology/2017/08/465k-patients-need-a-firmware-update-to-prevent-serious-pacemaker-hacks/
25/80
50 Years Later…
 Cost and Budget Overruns
 Property Damage
 Life and Death
 Productivity  Quality
26/80
Productivity  Quality
https://bridgera.com/cisco-says-iot-projects-failing/
27/80
CAUSES AND CONSEQUENCES
28/80https://bridgera.com/cisco-says-iot-projects-failing/
29/80http://www.zdnet.com/article/iot-spending-to-surpass-800-billion-in-2017-led-by-hardware-idc/
30/80
Heavy Fragmentation
https://www.fool.com/investing/2016/11/12/bad-news-we-may-have-an-iot-problem-on-our-hands.aspx
31/80
Heavy Fragmentation
https://www.qualcomm.com/news/onq/2016/02/19/fragmentation-enemy-internet-things
32/80
Heavy Fragmentation
 A cursory review of some IoT devices out there
– Smart Homes
– Wearables
– Smart Cities
– Industry 4.0
– Connected Health
136 hardware devices…
…130 different apps, APIs, or SDKs!
33/80
Causes and Consequences
34/80
Causes and Consequences
35/80
Causes and Consequences
36/80
Solution?
https://www.ericsson.com/thinkingahead/the-networked-society-blog/2017/09/13/iot-ecosystem-collaborations-can-stop-device-fragmentation/
37/80
IOT SOFTWARE
ENGINEERING
38/80
“Software is as vital as hardware,
and in many cases much more
complex, but it is much less well
understood.
It is a new branch of engineering,
in which research, development
and production are not clearly
distinguished, and its vital role is
often overlooked.
There have been many notable
successes, but recent advances
in hardware [...] have sometimes
resulted in [software technology]
being stretched beyond […] limit.”
—Stanley Gill, co-inventor
of the subroutine, 1968
http://www.writeopinions.com/stanley-gill
39/80
Will IoT Trigger the Next
Software Crisis?
40/80
Will IoT Trigger the Next
Software Crisis?
41/80
IoT Software Engineering
 Tames the complexity of IoT systems
42/80
IoT Software Engineering
 Tames the complexity of IoT systems
– Device software
– Apps and Cloud
– Privacy and transparency
43/80
IoT Software Engineering
 Tames the complexity of IoT systems
– Device software
• Bluetooth Low Energy, Zigbee, 5G…
– Apps and Cloud
• Node.js, OAuth 2.0, HTML5…
– Privacy and transparency
• Common sense, ethics, laws…
44/80
IoT Software Engineering
 Research avenues
– Development, release, and operations
– Feasibility and integration testing
– Privacy and transparency
of the data and the software
45/80
IoT Software Engineering
 Research avenues
– Development, release, and operations
– Feasibility and integration testing
– Privacy and transparency
of the data and the software
46/80
IoT Software Engineering
 Research avenues
– Development, release, and operations
– Feasibility and integration testing
– Privacy and transparency
of the data and the software
47/80
IoT Software Development
 Problem of heavy fragmentation
– From Cloud VMs to RPI to RFID tags
– From C# to C to assembly to XXX
– From DirectX to OpenGL ES to… none
48/80
IoT Software Development
 One practical and research idea
– Run the same software everywhere
– Transform the software to run everywhere
49/80
IoT Software Development
 One practical and research idea
– Run the same software everywhere
– Transform the software to run everywhere
50/80
Run the Same Software
 Do you remember…
51/80
Run the Same Software
“Write once,
run everywhere”
 Do you remember…
52/80
Run the Same Software
“Write once,
run everywhere”
“Write once,
debug everywhere”
 Do you remember…
53/80
Run the Same Software
 Write once, run everywhere
– From p-code to bytecodes
– From interpreters to virtual machines
– From unique to common APIs/libraries
 Write once, debug everywhere
– Lowest common denominator
– Threading and schedulers
– User interfaces and conventions
54/80
IoT Software Development
 One practical and research idea
– Run the same software everywhere
– Transform the software to run everywhere
55/80
IoT Software Development
 One practical and research idea
– Run the same software everywhere
– Transform the software to run everywhere
56/80
IOT SOFTWARE
MINIATURISATION
57/80
Transform the Software
Problems
 From Cloud VMs to RPI
to RFID tags
 From C# to C to
assembly to XXX
 From DirectX to OpenGL
ES to… none
Solutions
 Choose an interpreter for
many platforms
 Remove from the
software and its
interpreter useless,
unavailable features
58/80
Transform the Software
 Choose an interpreter for many platforms
– Duktape for JavaScript
 Remove from the software and its interpreter
useless, unavailable features
59/80
Software Miniaturisation
 We identify 86 code features
– 40 related to ECMA script compliance
– 46 specific to Duktape interpreter
that impact
– File size
– Memory usage
– CPU time
This is a joint work with Rodrigo Morales and Rubén
Saborido-Infantes, and post-doctoral fellows in CSSE
60/80
Software Miniaturisation
 We identify 86 code features
– 75 are dichotomous nominal variables
– 11 are continuous variables
 Just the dichotomous nominal variables
generate 3.8×10²² combinations!
61/80
Software Miniaturisation
 We identify 19 features interdependencies
– Feature Y depends on feature X to be run
 We identify conflicts among the metrics
– Reducing memory usage increases file size
– For example: storing functions in ROM (Ft. 7-10)
reduces memory usage by 87.93% but
increases file size by 25%
(For a script to detect prime numbers)
62/80
Software Miniaturisation
 Multi-objective combinatorial optimization
– NSGA-II to automatically miniaturize JS code
– MoMIT: Multi-objective Miniaturisation for the
Internet of Things
63/80
MoMIT
INPUT
Mandatory
code features
IoT candidate
devices
Program
source code
PROCESS
Measure performance
metrics of
default program
As baseline
Generate
Different program
variants
Compile
program with
default features
Evaluate
program variants
Select most
Performant
Program variants
Evolve
program variants
(Crossover and
Mutation)
Most effective
program variants
PROCESS OUTPUT
64/80
MoMIT
 Preliminary experiment
– Test case from Mozilla
• 3D Cube
65/80
MoMIT
66/80
MoMIT
 Capabilities of the IoT devices
67/80
MoMIT
 Capabilities of the IoT devices
Device name Memory
capacity
Storage
capacity
Wifi
integrated
price US val dimensions
mm
Particle
Photon
128,000 1,000,000 yes 19.00 5 36.58 x 20.32
x 6.86
ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x
12.3
Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x
9.77
Raspberry PI
3 Model B+
1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6
BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
68/80
MoMIT
 Particle Photon?
69/80
MoMIT
 Particle Photon?
File size (bytes) Memory usage (bytes) CPU Time (seconds)
569,080 166,496 0.205
70/80
MoMIT
 Particle Photon?
File size (bytes) Memory usage (bytes) CPU Time (seconds)
569,080 166,496 0.205
Device name Memory
capacity
Storage
capacity
Wifi
integrated
price US val dimensions
mm
Particle
Photon
128,000 1,000,000 yes 19.00 5 36.58 x 20.32
x 6.86
ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x
12.3
Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x
9.77
Raspberry PI
3 Model B+
1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6
BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
71/80
MoMIT
 Particle Photon?
File size (bytes) Memory usage (bytes) CPU Time (seconds)
569,080 166,496 0.205
Device name Memory
capacity
Storage
capacity
Wifi
integrated
price US val dimensions
mm
Particle
Photon
128,000 1,000,000 yes 19.00 5 36.58 x 20.32
x 6.86
ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x
12.3
Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x
9.77
Raspberry PI
3 Model B+
1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6
BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
72/80
MoMIT
 MoMIT solutions
73/80
MoMIT
 MoMIT solutions
File size (Bytes) Memory Usage (Bytes) CPU Time (seconds)
709,792 70,944 0.140
548,160 78,816 0.400
400,256 81,200 0.180
435,496 147,936 0.120
364,416 137,440 0.160
586,592 129,632 0.120
709,792 70,944 0.140
475,232 94,688 0.135
400,256 81,200 0.180
474,264 81,200 0.170
74/80
MoMIT
 MoMIT solutions
File size (Bytes) Memory Usage (Bytes) CPU Time (seconds)
709,792 70,944 0.140
548,160 78,816 0.400
400,256 81,200 0.180
435,496 147,936 0.120
364,416 137,440 0.160
586,592 129,632 0.120
709,792 70,944 0.140
475,232 94,688 0.135
400,256 81,200 0.180
474,264 81,200 0.170
75/80
MoMIT
 Particle Photon?
76/80
MoMIT
 Particle Photon?
77/80
Will IoT Trigger the Next
Software Crisis?
78/80
Will IoT Trigger the Next
Software Crisis?
79/80
Next Software Crisis?
 Problem of heavy fragmentation
 Need more research to bring solutions
– Development, release, and operations
– Feasibility and integration testing
– Privacy and transparency
of the data and the software
Yann-Gaël Guéhéneuc
This work is licensed under a Creative
Commons Attribution-NonCommercial-
ShareAlike 3.0 Unported License
The IoT Fragmentation, Issues
and Opportunities in Software
Engineering Research
Griottes Team
18/11/30
81/80
82/80
References
 Other images/icons credits
– https://thenounproject.com/term/internet-of-
things/358751/
– https://www.shareicon.net/protection-insurance-
icons-crack-broken-insurance-breaking-glass-
glasses-cracks-678738
– https://www.shutterstock.com/video/clip-
20883922-stock-footage-day-sunset-tight-
freeway-traffic-jam-gridlock-cars-trucks-bumper-
camera-overpass-yellow-color.html
– https://www.dreamstime.com/royalty-free-stock-
photos-danger-to-life-skull-crossbones-warning-
sign-image27027038
– https://www.beyondmetrix.com/assets/images/m
aybe.jpg
– https://depositphotos.com/1377534/stock-photo-
no-underlined-by-pencil.html
– https://cdn-images-
1.medium.com/max/1200/1*vHvW74PM8jDOjaI
Gbg8gXQ.png
– https://developers.nest.com/documentation/clou
d/images/ad-t14-design-wwn.png
– https://www.marsdd.com/wp-
content/uploads/2014/10/Oct23-MaRS-
ConnectedWorld-ConnectedHome2.jpg
– http://all4desktop.com/4245989-fingers.html
– http://pngimg.com/download/956
– https://icons8.com/icon/34278/code-file
– https://cdn.sparkfun.com//assets/parts/1/1/3/2/8/
13774-01.jpg
– https://images-na.ssl-images-
amazon.com/images/I/613Q6IxkivL._SX425_.jpg
– https://www.apple.com/us_smb_78313/shop/pro
duct/HJCC2VC/B/philips-hue-ambiance-white-
and-color-extension-bulb-a19-e26
– https://c1.neweggimages.com/NeweggImage/Pr
oductImage/13-142-011-Z01.jpg
– https://cdn.sparkfun.com//assets/parts/1/2/0/7/6/
14162-02.jpg

More Related Content

PDF
Will io t trigger the next software crisis
PDF
Top10 Emerging Technologies Report (June 2016)
PDF
From Embedded to IoT and From Cloud to Edge & AIoT -- A computer technology t...
PDF
Gartner: Top 10 Strategic Technology Trends 2016
PDF
IoT Convention Europe - Mechelen June 15th 2017
PDF
El IoT y la gestión de las empresas del futuro, IGNASI ERRANDO, CISCO
PDF
Energy IIoT - Industrial Internet of Things (IIoT) in Decentralized Digital O...
PDF
IoT and Smart Manufacturing
Will io t trigger the next software crisis
Top10 Emerging Technologies Report (June 2016)
From Embedded to IoT and From Cloud to Edge & AIoT -- A computer technology t...
Gartner: Top 10 Strategic Technology Trends 2016
IoT Convention Europe - Mechelen June 15th 2017
El IoT y la gestión de las empresas del futuro, IGNASI ERRANDO, CISCO
Energy IIoT - Industrial Internet of Things (IIoT) in Decentralized Digital O...
IoT and Smart Manufacturing

What's hot (20)

PDF
IoT Update | Hoe implementeer je IoT Schaalbaar in je IT landschap
PDF
Think Like a Futurist: 5 Steps to Future-Proof Your Strategic Technology Plan
PDF
Industrial internet of things (IIOT) - special report-2017
PDF
IoT Developer Survey 2016
PDF
Top 10 Strategic Technology Trends 2007-2014 - Gartner
PDF
The IOT scenario in the digital age
PDF
IoT Masterclass ESGT Santarem - Connecting The Dots
PPTX
Revolutionize your business with the Industrial Internet of Things ( IIoT) - ...
PDF
Internet of things by Mr.Pradeep_Kumar
DOCX
Top 10 Trending Technologies To Master In 2021
PDF
The Role of Artificial Intelligence in Manufacturing : 15 High Impacted AI Us...
PPTX
É possível existir segurança para IoT?
PDF
IoT Update Oktober 2019 | Jan Depping @Microsoft | The next step in IoT
PPTX
What is a smart factory
PDF
A Guide To The Internet Of Things
PDF
Internet of Things application platforms
PDF
Rise of the smart machines: Gartner’s top tech predictions for 2016
PDF
IoT Developer Survey 2018
PDF
Gartner: Top 10 Technology Trends 2015
PDF
The IoT Food Chain – Picking the Right Dining Partner is Important with Dean ...
IoT Update | Hoe implementeer je IoT Schaalbaar in je IT landschap
Think Like a Futurist: 5 Steps to Future-Proof Your Strategic Technology Plan
Industrial internet of things (IIOT) - special report-2017
IoT Developer Survey 2016
Top 10 Strategic Technology Trends 2007-2014 - Gartner
The IOT scenario in the digital age
IoT Masterclass ESGT Santarem - Connecting The Dots
Revolutionize your business with the Industrial Internet of Things ( IIoT) - ...
Internet of things by Mr.Pradeep_Kumar
Top 10 Trending Technologies To Master In 2021
The Role of Artificial Intelligence in Manufacturing : 15 High Impacted AI Us...
É possível existir segurança para IoT?
IoT Update Oktober 2019 | Jan Depping @Microsoft | The next step in IoT
What is a smart factory
A Guide To The Internet Of Things
Internet of Things application platforms
Rise of the smart machines: Gartner’s top tech predictions for 2016
IoT Developer Survey 2018
Gartner: Top 10 Technology Trends 2015
The IoT Food Chain – Picking the Right Dining Partner is Important with Dean ...
Ad

Similar to From IoT to Software Miniaturisation (20)

PDF
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
PDF
SIMA AZ: Emerging Information Technology Innovations & Trends 11/15/17
PPTX
Modern cybersecurity threats, and shiny new tools to help deal with them
PDF
Making a Better World with Technology Innovations
PDF
Digital twins and New Business Models
PDF
Modern cybersecurity threats, and shiny new tools to help deal with them - T...
PDF
Hacking IoT with EXPLIoT Framework
PDF
Industrial IoT and the emergence of Edge Computing Navigating the Technologic...
PPTX
Embeded system Basics.pptx
PDF
Open factory 2019
PDF
Crossing the Production Barrier: Development at Scale
PDF
IoT Developer Survey 2018
PPTX
IOT with Drupal 8 - Webinar Hyderabad Drupal Community
PPTX
Training Report DRDO.pptx
PDF
MicroEJ OS for IoT devices
PDF
MicroEJ, the OS for IoT
PDF
Internet of Things Conference - Bogor city
PDF
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
PDF
IRJET - IoT based Facial Recognition Quadcopter using Machine Learning Algorithm
PDF
A LIGHTWEIGHT PAYMENT VERIFICATION USING BLOCKCHAIN ALGORITHM ON IoT DEVICES
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
SIMA AZ: Emerging Information Technology Innovations & Trends 11/15/17
Modern cybersecurity threats, and shiny new tools to help deal with them
Making a Better World with Technology Innovations
Digital twins and New Business Models
Modern cybersecurity threats, and shiny new tools to help deal with them - T...
Hacking IoT with EXPLIoT Framework
Industrial IoT and the emergence of Edge Computing Navigating the Technologic...
Embeded system Basics.pptx
Open factory 2019
Crossing the Production Barrier: Development at Scale
IoT Developer Survey 2018
IOT with Drupal 8 - Webinar Hyderabad Drupal Community
Training Report DRDO.pptx
MicroEJ OS for IoT devices
MicroEJ, the OS for IoT
Internet of Things Conference - Bogor city
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
IRJET - IoT based Facial Recognition Quadcopter using Machine Learning Algorithm
A LIGHTWEIGHT PAYMENT VERIFICATION USING BLOCKCHAIN ALGORITHM ON IoT DEVICES
Ad

More from Ptidej Team (20)

PDF
Presentation
PDF
Presentation
PDF
Presentation
PDF
Presentation by Lionel Briand
PDF
Manel Abdellatif
PDF
Azadeh Kermansaravi
PDF
Mouna Abidi
PDF
CSED - Manel Grichi
PDF
Cristiano Politowski
PDF
PDF
Thesis+of+laleh+eshkevari.ppt
PDF
Thesis+of+nesrine+abdelkafi.ppt
PDF
Medicine15.ppt
PDF
Qrs17b.ppt
PDF
Icpc11c.ppt
PDF
Icsme16.ppt
PDF
Msr17a.ppt
PDF
Icsoc15.ppt
PDF
Thesis+of+étienne+duclos.ppt
PDF
Icsoc16b.ppt
Presentation
Presentation
Presentation
Presentation by Lionel Briand
Manel Abdellatif
Azadeh Kermansaravi
Mouna Abidi
CSED - Manel Grichi
Cristiano Politowski
Thesis+of+laleh+eshkevari.ppt
Thesis+of+nesrine+abdelkafi.ppt
Medicine15.ppt
Qrs17b.ppt
Icpc11c.ppt
Icsme16.ppt
Msr17a.ppt
Icsoc15.ppt
Thesis+of+étienne+duclos.ppt
Icsoc16b.ppt

Recently uploaded (20)

PPTX
Introduction to Artificial Intelligence
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
history of c programming in notes for students .pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Digital Strategies for Manufacturing Companies
PDF
top salesforce developer skills in 2025.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Cost to Outsource Software Development in 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Computer Software and OS of computer science of grade 11.pptx
Introduction to Artificial Intelligence
Which alternative to Crystal Reports is best for small or large businesses.pdf
Why Generative AI is the Future of Content, Code & Creativity?
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
history of c programming in notes for students .pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Softaken Excel to vCard Converter Software.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Digital Strategies for Manufacturing Companies
top salesforce developer skills in 2025.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Cost to Outsource Software Development in 2025
Odoo Companies in India – Driving Business Transformation.pdf
Computer Software and OS of computer science of grade 11.pptx

From IoT to Software Miniaturisation

  • 1. Yann-Gaël Guéhéneuc This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License The IoT Fragmentation, Issues and Opportunities in Software Engineering Research Griottes Team 18/11/30
  • 2. 2/80 Outline  A Brief History of Software Engineering  50 years later…  Causes and Consequences  IoT Software Engineering  IoT Software Miniaturisation
  • 3. 3/80 A BRIEF HISTORY OF SOFTWARE ENGINEERING
  • 4. 4/80 In the Past  Cost and Budget Overruns  Property Damage  Life and Death  Productivity  Quality https://en.wikipedia.org/wiki/History_of_software_engineering
  • 10. 10/80 From SNs to Home Assistants http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559 https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html
  • 11. 11/80 From SNs to Home Assistants SOSUS 1950 http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559 https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html Trojan Room 1993 Myers et al. 1984
  • 12. 12/80 From SNs to Home Assistants SOSUS 1950 http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559 https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html Trojan Room 1993 Myers et al. 1984 2017 Things > People 2008 Berkley PicoRadio 2000
  • 13. 13/80 From OSes to Home Assistants http://apple.wikia.com/wiki/System_7 https://en.wikipedia.org/wiki/Windows_3.1x http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/ http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software https://play.google.com/store/apps/details?id=com.acr.screenshothd https://www.cultofmac.com/230954/ios-7-in-action-gallery/ https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO https://www.cnet.com/products/google-home/review/
  • 14. 14/80 From OSes to Home Assistants http://apple.wikia.com/wiki/System_7 https://en.wikipedia.org/wiki/Windows_3.1x http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/ http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software https://play.google.com/store/apps/details?id=com.acr.screenshothd https://www.cultofmac.com/230954/ios-7-in-action-gallery/ https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO https://www.cnet.com/products/google-home/review/
  • 15. 15/80 From OSes to Home Assistants http://apple.wikia.com/wiki/System_7 https://en.wikipedia.org/wiki/Windows_3.1x http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/ http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software https://play.google.com/store/apps/details?id=com.acr.screenshothd https://www.cultofmac.com/230954/ios-7-in-action-gallery/ https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO https://www.cnet.com/products/google-home/review/
  • 16. 16/80 From OSes to Home Assistants http://apple.wikia.com/wiki/System_7 https://en.wikipedia.org/wiki/Windows_3.1x http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/ http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software https://play.google.com/store/apps/details?id=com.acr.screenshothd https://www.cultofmac.com/230954/ios-7-in-action-gallery/ https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO https://www.cnet.com/products/google-home/review/
  • 17. 17/80 50 Years Later…  Cost and Budget Overruns  Property Damage  Life and Death  Productivity  Quality
  • 18. 18/80 50 Years Later…  Cost and Budget Overruns  Property Damage  Life and Death  Productivity  Quality
  • 19. 19/80 50 Years Later…  Cost and Budget Overruns “Through 2018, 75 percent of IoT projects will take up to twice as long as planned.” —Gartner, 2016 http://www.gartner.com/newsroom/id/3185623
  • 21. 21/80 50 Years Later…  Property Damage “Hackers Remotely Kill a Jeep on the Highway” —Wired, 2015 https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
  • 23. 23/80 50 Years Later…  Life and Death “An estimated 465,000 people in the US […] should update the firmware [of their] pacemakers or risk […] fatal hacks.” —Ars Technica, 2017
  • 25. 25/80 50 Years Later…  Cost and Budget Overruns  Property Damage  Life and Death  Productivity  Quality
  • 32. 32/80 Heavy Fragmentation  A cursory review of some IoT devices out there – Smart Homes – Wearables – Smart Cities – Industry 4.0 – Connected Health 136 hardware devices… …130 different apps, APIs, or SDKs!
  • 38. 38/80 “Software is as vital as hardware, and in many cases much more complex, but it is much less well understood. It is a new branch of engineering, in which research, development and production are not clearly distinguished, and its vital role is often overlooked. There have been many notable successes, but recent advances in hardware [...] have sometimes resulted in [software technology] being stretched beyond […] limit.” —Stanley Gill, co-inventor of the subroutine, 1968 http://www.writeopinions.com/stanley-gill
  • 39. 39/80 Will IoT Trigger the Next Software Crisis?
  • 40. 40/80 Will IoT Trigger the Next Software Crisis?
  • 41. 41/80 IoT Software Engineering  Tames the complexity of IoT systems
  • 42. 42/80 IoT Software Engineering  Tames the complexity of IoT systems – Device software – Apps and Cloud – Privacy and transparency
  • 43. 43/80 IoT Software Engineering  Tames the complexity of IoT systems – Device software • Bluetooth Low Energy, Zigbee, 5G… – Apps and Cloud • Node.js, OAuth 2.0, HTML5… – Privacy and transparency • Common sense, ethics, laws…
  • 44. 44/80 IoT Software Engineering  Research avenues – Development, release, and operations – Feasibility and integration testing – Privacy and transparency of the data and the software
  • 45. 45/80 IoT Software Engineering  Research avenues – Development, release, and operations – Feasibility and integration testing – Privacy and transparency of the data and the software
  • 46. 46/80 IoT Software Engineering  Research avenues – Development, release, and operations – Feasibility and integration testing – Privacy and transparency of the data and the software
  • 47. 47/80 IoT Software Development  Problem of heavy fragmentation – From Cloud VMs to RPI to RFID tags – From C# to C to assembly to XXX – From DirectX to OpenGL ES to… none
  • 48. 48/80 IoT Software Development  One practical and research idea – Run the same software everywhere – Transform the software to run everywhere
  • 49. 49/80 IoT Software Development  One practical and research idea – Run the same software everywhere – Transform the software to run everywhere
  • 50. 50/80 Run the Same Software  Do you remember…
  • 51. 51/80 Run the Same Software “Write once, run everywhere”  Do you remember…
  • 52. 52/80 Run the Same Software “Write once, run everywhere” “Write once, debug everywhere”  Do you remember…
  • 53. 53/80 Run the Same Software  Write once, run everywhere – From p-code to bytecodes – From interpreters to virtual machines – From unique to common APIs/libraries  Write once, debug everywhere – Lowest common denominator – Threading and schedulers – User interfaces and conventions
  • 54. 54/80 IoT Software Development  One practical and research idea – Run the same software everywhere – Transform the software to run everywhere
  • 55. 55/80 IoT Software Development  One practical and research idea – Run the same software everywhere – Transform the software to run everywhere
  • 57. 57/80 Transform the Software Problems  From Cloud VMs to RPI to RFID tags  From C# to C to assembly to XXX  From DirectX to OpenGL ES to… none Solutions  Choose an interpreter for many platforms  Remove from the software and its interpreter useless, unavailable features
  • 58. 58/80 Transform the Software  Choose an interpreter for many platforms – Duktape for JavaScript  Remove from the software and its interpreter useless, unavailable features
  • 59. 59/80 Software Miniaturisation  We identify 86 code features – 40 related to ECMA script compliance – 46 specific to Duktape interpreter that impact – File size – Memory usage – CPU time This is a joint work with Rodrigo Morales and Rubén Saborido-Infantes, and post-doctoral fellows in CSSE
  • 60. 60/80 Software Miniaturisation  We identify 86 code features – 75 are dichotomous nominal variables – 11 are continuous variables  Just the dichotomous nominal variables generate 3.8×10²² combinations!
  • 61. 61/80 Software Miniaturisation  We identify 19 features interdependencies – Feature Y depends on feature X to be run  We identify conflicts among the metrics – Reducing memory usage increases file size – For example: storing functions in ROM (Ft. 7-10) reduces memory usage by 87.93% but increases file size by 25% (For a script to detect prime numbers)
  • 62. 62/80 Software Miniaturisation  Multi-objective combinatorial optimization – NSGA-II to automatically miniaturize JS code – MoMIT: Multi-objective Miniaturisation for the Internet of Things
  • 63. 63/80 MoMIT INPUT Mandatory code features IoT candidate devices Program source code PROCESS Measure performance metrics of default program As baseline Generate Different program variants Compile program with default features Evaluate program variants Select most Performant Program variants Evolve program variants (Crossover and Mutation) Most effective program variants PROCESS OUTPUT
  • 64. 64/80 MoMIT  Preliminary experiment – Test case from Mozilla • 3D Cube
  • 67. 67/80 MoMIT  Capabilities of the IoT devices Device name Memory capacity Storage capacity Wifi integrated price US val dimensions mm Particle Photon 128,000 1,000,000 yes 19.00 5 36.58 x 20.32 x 6.86 ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x 12.3 Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x 9.77 Raspberry PI 3 Model B+ 1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6 BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
  • 69. 69/80 MoMIT  Particle Photon? File size (bytes) Memory usage (bytes) CPU Time (seconds) 569,080 166,496 0.205
  • 70. 70/80 MoMIT  Particle Photon? File size (bytes) Memory usage (bytes) CPU Time (seconds) 569,080 166,496 0.205 Device name Memory capacity Storage capacity Wifi integrated price US val dimensions mm Particle Photon 128,000 1,000,000 yes 19.00 5 36.58 x 20.32 x 6.86 ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x 12.3 Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x 9.77 Raspberry PI 3 Model B+ 1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6 BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
  • 71. 71/80 MoMIT  Particle Photon? File size (bytes) Memory usage (bytes) CPU Time (seconds) 569,080 166,496 0.205 Device name Memory capacity Storage capacity Wifi integrated price US val dimensions mm Particle Photon 128,000 1,000,000 yes 19.00 5 36.58 x 20.32 x 6.86 ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x 12.3 Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x 9.77 Raspberry PI 3 Model B+ 1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6 BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
  • 73. 73/80 MoMIT  MoMIT solutions File size (Bytes) Memory Usage (Bytes) CPU Time (seconds) 709,792 70,944 0.140 548,160 78,816 0.400 400,256 81,200 0.180 435,496 147,936 0.120 364,416 137,440 0.160 586,592 129,632 0.120 709,792 70,944 0.140 475,232 94,688 0.135 400,256 81,200 0.180 474,264 81,200 0.170
  • 74. 74/80 MoMIT  MoMIT solutions File size (Bytes) Memory Usage (Bytes) CPU Time (seconds) 709,792 70,944 0.140 548,160 78,816 0.400 400,256 81,200 0.180 435,496 147,936 0.120 364,416 137,440 0.160 586,592 129,632 0.120 709,792 70,944 0.140 475,232 94,688 0.135 400,256 81,200 0.180 474,264 81,200 0.170
  • 77. 77/80 Will IoT Trigger the Next Software Crisis?
  • 78. 78/80 Will IoT Trigger the Next Software Crisis?
  • 79. 79/80 Next Software Crisis?  Problem of heavy fragmentation  Need more research to bring solutions – Development, release, and operations – Feasibility and integration testing – Privacy and transparency of the data and the software
  • 80. Yann-Gaël Guéhéneuc This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License The IoT Fragmentation, Issues and Opportunities in Software Engineering Research Griottes Team 18/11/30
  • 81. 81/80
  • 82. 82/80 References  Other images/icons credits – https://thenounproject.com/term/internet-of- things/358751/ – https://www.shareicon.net/protection-insurance- icons-crack-broken-insurance-breaking-glass- glasses-cracks-678738 – https://www.shutterstock.com/video/clip- 20883922-stock-footage-day-sunset-tight- freeway-traffic-jam-gridlock-cars-trucks-bumper- camera-overpass-yellow-color.html – https://www.dreamstime.com/royalty-free-stock- photos-danger-to-life-skull-crossbones-warning- sign-image27027038 – https://www.beyondmetrix.com/assets/images/m aybe.jpg – https://depositphotos.com/1377534/stock-photo- no-underlined-by-pencil.html – https://cdn-images- 1.medium.com/max/1200/1*vHvW74PM8jDOjaI Gbg8gXQ.png – https://developers.nest.com/documentation/clou d/images/ad-t14-design-wwn.png – https://www.marsdd.com/wp- content/uploads/2014/10/Oct23-MaRS- ConnectedWorld-ConnectedHome2.jpg – http://all4desktop.com/4245989-fingers.html – http://pngimg.com/download/956 – https://icons8.com/icon/34278/code-file – https://cdn.sparkfun.com//assets/parts/1/1/3/2/8/ 13774-01.jpg – https://images-na.ssl-images- amazon.com/images/I/613Q6IxkivL._SX425_.jpg – https://www.apple.com/us_smb_78313/shop/pro duct/HJCC2VC/B/philips-hue-ambiance-white- and-color-extension-bulb-a19-e26 – https://c1.neweggimages.com/NeweggImage/Pr oductImage/13-142-011-Z01.jpg – https://cdn.sparkfun.com//assets/parts/1/2/0/7/6/ 14162-02.jpg