40
pages
Documents
Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres
40
pages
Documents
Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres
Large-scale adaptive systems
LECTURE 6: PROGRAMMING AND
MODELING OF LARGE SCALE NETWORKS
Dr. Stefan Dulman
s.o.dulman@tudelft.nly
y
{
Ù
Ù
{
Review previous lecture
2
Introduction: design methodologies
Alternatives to traditional design
Example #1
Amorphous computing – global-2-local compiler
Example #2
ASH Clustering schemey
{
{
Related work
3
This lecture is based on:
Michael De Rosa, et al.: Programming Modular Robots with Locally
Distributed Predicates, in Proc. ICRA 2008
http://www.cs.cmu.edu/~claytronics/papers/derosa-icra08.pdf
Adaptive Systems by prof. Giovanna di Martzo Serugendo
http://www.dcs.bbk.ac.uk/~dimarzo/courses/as.htmly
{
y
y
y
Lecture overview
4
Programming for distributed systems
Example: LDP
Modeling – introduction and examples
Project overview
Summary{
y
y
Ù
{
Ù
Ù
Ù
{
Ù
Ù
{
Programming in distributed env.
5
Issues:
Large scale network
Number of devices not known
Churn is basic characteristic
Code spreads virally
Code in various execution levels across network
Global state unknown
Basic assumptions:
HW/SW failures, heterogeneity, dynamics of all sorts
Central controlling entity missing
Devices may contain actuators, changing the environment
Question: how to program such a network?Goals can be counter-intuitive!
6
Lecture on Pario by Todd Mowry (http://www.youtube.com/watch?v=4Ixc-DaAm1k)Ù
y
y
Ù
{
{
Ù
{
State of the art
7
Various solutions
Amorphous computing: global-to-local compiler
WSN field: macro programming
Swarm robotics
Logical declarative languages (P2, Meld)
Reactive programming techniques (subsumption architecture)
Functional approaches (Regiment, Proto)
We focus on Locally distributed predicates (LDP)
Michael De Rosa: Programming Modular Robots with Locally Distributed Predicates (ICRA 2008)y
{
y
{
{
{
Ù
y
{
{
{
LDP
8
LDP operates on finite size neighborhoods
Searching in the local vicinity is cheaper
Reality (swarm robotics) is built like that
Natural for large scale modular robots (local decisions)
Syntax: data declaration and statements
Statements: predicate clause and action clauses
No explicit control structures
Architecture
Each robot has a collection of threads (one for each statement)
PatternMatchers created on clock ticks, sensor events…
Objects migrating though the networky
{
{
{
LDP
9
Triggering actions
Setting a state variable
Changing topology of the system
Calling an arbitrary function on the robot 10