SlideShare is now on Android. 15 million presentations at your fingertips.  Get the app

×
  • Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 

Davide Carboni - The world is the computer and the programmer is You

by on Apr 16, 2010

  • 1,451 views

The world is the computer and the programmer is you - Presentation Transcript ...

The world is the computer and the programmer is you - Presentation Transcript

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
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
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
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
Projects • Languages, tools, and models for Web of Things and Wireless Sensor Computing – Hyperpipe (bottom up) – PySense (top down) 5
Top Down 6
wireless sensor networking today 7
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
Sensing, routing, computing 9
• 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
• 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
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
PySense Regions Region((0,0,100,100)) | Region(“/foo/3/312”) 13
@mote class M: def getX(self):pass def setY(self,y):pass Finds a mote m with X,Y m=M() m.getX() Read X from m 14
@mote class M: def getX(self):pass @onboard def f(self,args):<some> @onbase def g(self,args):<some> @auto def h(self,args):<some> 15
Simple program @mote class CO2Sense: def getConc(self): return self.x values=[c.getConc() for c in region.items(CO2Sense)] 16
A little better @mote class CO2Sense: def getConc(self):return self.conc class CO2Cluster(Cluster) @onboard def average(self): return sum([m.getConc() for m in self.motes]) / len(self.motes) values=CO2Cluster(region.items(CO2Sense)).average () 17
Bottom up Picture released under (CC) attribution share alike by alasis on Flickr 18
Only for geeks ls l | less curl "http://en.wikipedia.org/wiki/Pipeline_(Unix)" | sed 's/[^a zA Z ]/ /g' | tr 'A Z ' 'a­zn' | grep '[a z]' | sort u | comm 23 /usr/share/dict/words 19
Also for bloggers 20
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
Hyperpipe • Hyperpipes =architecture for the Web of Things • Point-select-connect interaction • Based on pi-calculus / SOA 22
– 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
sensor src() >data effector sink(data) f(data) >data' pro

Statistics

Views

Total Views
1,451
Views on SlideShare
1,446
Embed Views
5

Actions

Likes
0
Downloads
22
Comments
1

1 Embed 5

http://www.slideshare.net 5

Accessibility

Upload Details

Uploaded via SlideShare as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

Post Comment
Edit your comment

Davide Carboni - The world is the computer and the programmer is You Davide Carboni - The world is the computer and the programmer is You Presentation Transcript