The world is the computer and the programmer is you
1. The World is the Computer
and the programmer is You
Davide Carboni
Surfing the 3rd wave, Internet of
Things in Sardinia Workshop
Pula 14 04 2010
1
2. Time
• 1956:There's Plenty of Room at the Bottom -->MEMS
(Feynman)
• 1974: TCP/IP (V.Cerf, R Kahn)
• 1990: Web (T.Berners Lee)
• 1993: Vision of Ubiquitous Computing (Weiser)
• 1998: Jini (Sun)
• 1999: Internet of things (AutoID labs)
• 2000: REST (Roy Fielding)
• 2001: Smart Dust (Pister)
• 2003: Project JXTA-C: Enabling a Web of Things
• 2004: Vision of Spime (B. Sterling)
• 2004: Web 2.0 (O'Reilly or DiNucci in 1999)
• 2008: (Restful) Web of Things Manifesto (Trifa et al.)
2
3. Models and tools
• to understand Ubiquitous
Computing we must make more
systematic use of models [...]
• how models can form a hierarchy,
allowing them to be combined and
higher models to explain lower
ones
– Robin Milner
3
4. Top down Vs bottom up
• Bottom up
– Few simple rules, many subjects,
many objects
– Integrative levels, emergent
complexity,evolutionary approach
• Top Down
– Many complex rules and logic, one
subject, many objects
– Creational approach
4
5. Projects
• Languages, tools, and models for
Web of Things and Wireless Sensor
Computing
– Hyperpipe (bottom up)
– PySense (top down)
5
8. PySense
• Wireless Sensor Computing
– not only simple sensors connected to
a central computer, but rather
elements capable of computation in a
distributed system
• Computation Vs Communication
– One byte sent demands 100 times the
energy of an integer instruction
8
10. • given an energy consumption
model E and an application code C,
there exists a partitioning of code
C={c1,c2,...,cn} and a set Tx of
transmissions Tx={tx1,tx2,...,txk}
which is optimal for E
10
11. • Node-level programming
– program for each node type (error
prone, difficult, only for geeks)
• Network as DB
– Good but limited to queries (TinyDB)
• Macroprogramming
– Program the net as a whole, the tool
partition the code on the nodes
automatically
11
12. PySense
• PySense
– Language (hosted on decorators) and
API
– Base Runtime Environment (based on
Python 2.6)
– Remote Runtime Environment (based
on Python-on-a-chip)
12
21. Web 1.0 Pages linked
Web 2.0 People, content, social
Web 3.0 Structured data and
services
Web of Things Physical
objects,sensors,
effectors
Wiki of Things, People bend the rules,
Physical Mashups new unexpected apps
21
23. – Every thing is a process
– Things have public operations
(channels)
– Things exchange data through
channels
– Hyper pipes connect objects'
channels
– Hyper pipes are processes
23
33. Selecting two different actions
from two different objects
(or even from the same object)
a pipe can be constructed.
Thanks to
Alessandro Giordano
and Alberto Serra
for the prototype
33
36. References
• Macroprogramming
http://fiji.eecs.harvard.edu/Macroprogramming
• Enowireless - http://opensource.crs4.it/enowireless/
• Wireless Wires: Let the Users Build the Ubiquitous
ComputerIn Proc. of MUM 2007 - 6th Int.
Conference on Mobile and Ubiquitous Multimedia.
ACM Press.
• http://en.wikipedia.org/wiki/Mark_Weiser
36