Aggregate ¡Programming ¡ Part ¡1: ¡Mo0va0on ¡& ¡Field ¡Calculus ¡
Jacob ¡Beal ¡
SFM16: ¡QUANTICOL ¡ June ¡2016 ¡
Aggregate Programming Part 1: Mo0va0on & Field Calculus - - PowerPoint PPT Presentation
Aggregate Programming Part 1: Mo0va0on & Field Calculus Jacob Beal SFM16: QUANTICOL June 2016 A generative approach to safety Restrict your development environment
SFM16: ¡QUANTICOL ¡ June ¡2016 ¡
sensors& local&func,ons& actuators&
Applica'on* Code* Developer* APIs* Field*Calculus* Constructs* Resilient* Coordina'on* Operators* Device* Capabili'es* built&ins)
rep nbr if T G if C
built&ins)
communica,on& state& restric,on&
Percep,on&
summarize average regionMax …
Ac,on& State& Collec,ve&Behavior&
distanceTo broadcast partition … timer lowpass recentTrue … collectivePerception collectiveSummary managementRegions …
Crowd&Management&
dangerousDensity crowdTracking crowdWarning safeDispersal
neighborhood ¡ device ¡
Intel ¡Xeon ¡Phi: ¡61 ¡cores ¡ Xilinx ¡Virtex-‑7: ¡2M ¡Logic ¡cells ¡
6 ¡
High ¡Dispersion ¡ Moderate ¡FLOPs ¡ Isolate ¡Systems ¡ Extremely ¡High ¡FLOPs ¡ High ¡ResoluVon ¡Sense/Act ¡ Abysmal ¡FLOPs ¡
9 ¡
Dangerous ¡Density ¡Warning ¡ Dispersal ¡Advice ¡ Crowd ¡Es0ma0on ¡ Conges0on-‑Aware ¡Naviga0on ¡
Dangerous ¡Density ¡Warning ¡ Dispersal ¡Advice ¡ Crowd ¡Es0ma0on ¡ Conges0on-‑Aware ¡Naviga0on ¡
sensors& local&func,ons& actuators&
Applica'on* Code* Developer* APIs* Field*Calculus* Constructs* Resilient* Coordina'on* Operators* Device* Capabili'es* built&ins)
built&ins)
communica,on& state& restric,on&
Percep,on&
summarize average regionMax …
Ac,on& State& Collec,ve&Behavior&
distanceTo broadcast partition … timer lowpass recentTrue … collectivePerception collectiveSummary managementRegions …
Crowd&Management&
dangerousDensity crowdTracking crowdWarning safeDispersal
15 ¡
(cf. ¡Butera) ¡ DesV-‑ ¡ naVon ¡ Source ¡
16 ¡
source destination distance-to distance distance-to <= + dilate width 37 ¡ 10 ¡
17 ¡
[Viroli ¡et ¡al., ¡‘13, ¡Damiani ¡et ¡al., ¡‘15] ¡
[Beal, ¡’10; ¡Beal ¡et ¡al., ¡SCW ¡14] ¡
!"#$% &'()$% !"#$% &'()$% !"#$% &'()$%
!"#$%&'!"()*+&##,$&-%+&..$/0!1&2/"'+
!"#$% &'()$%
!"
!"#$% &'()$%
!"
!"#$% &'()$%
!" #$%"
#$&"
&$'"
%$&"
#"
#$'"
&$(" #$(" %$(" '$("
Specifica0on: ¡
Acausal ¡ Non-‑approximable ¡
(def gradient (src) ...) (def distance (src dst) ...) (def dilate (src n) (<= (gradient src) n)) (def channel (src dst width) (let* ((d (distance src dst)) (trail (<= (+ (gradient src) (gradient dst)) d))) (dilate trail width)))
neighborhood ¡ device ¡
Device ¡ Kernel ¡ evalua0on ¡ global ¡to ¡local ¡ compila0on ¡ discrete ¡ approxima0on ¡ plaJorm ¡ specificity ¡& ¡
[Beal ¡& ¡Bachrach, ¡'06] ¡
Daemon'Device' Protelis'Parser' Protelis'Device' Environment' Variables' Protelis' Interpreter' Protelis)Program) Service' Manager' Daemon' Networked' Service'
Start/Stop' Signals' Status,' Sockets' Other& Services& Other& Managers&
Enterprise& Server&
Protelis)Parser) Protelis)Device) Environment) Variables) Protelis) Interpreter) Protelis)Program)
Other& Devices&
Simulated*Device* Protelis*Parser* Protelis*Device* Environment* Variables* Protelis* Interpreter* Protelis)Program) Simulated* Environment* Simula8on* Builder* Simula/on)Script) Alchemist* Simulator* Simulated* Network*
Architecture: ¡ [Pianini, ¡Viroli, ¡& ¡Beal, ¡SAC ¡‘15] ¡