An infrastructure language for Open Nets Michele Loreti Joint work with: Lorenzo Bettini and Rosario Pugliese Dipartimento di Sistemi e Informatica Università di Firenze
Open nets... These are highly reconfigurable new nodes can get connected existing nodes can disconnect Connection and disconnection can be temporary unexpected New connections can be established on- the-fly
New family of constructs... Designed for expressing dynamic evolution of open nets Largely independent of any programming language These are put in concrete form by focusing their integration with Klaim
KlaimKLA IM Klaim: Kernel Language for Agent Interaction and Mobility Linda based communication model: Asynchronous communication; Via tuple space. Explicit use of localities: Multiple distributed tuple spaces. Possibility of code mobility.
Linda Communication Model Tuples (“foo”, 10+5, !x) Formal Fields Actual Fields Pattern Matching: Formal fields match any field of the same type Actual fields match if identical (“foo”, 10+5, true) matches (!s, 15, !b)
s1s1 Klaim Nodes P 11 TS Name (phys. loc.) Tuple space Processes Environment Gateways S
Klaim Nets S1S1 S3S3 S2S2 S4S4
S1S1 S2S2 S4S4 S3S3 S5S5
The infrastructure language New class of processes ( ) that: can perform new special actions: do not move model the network-interface of operating system
Dynamic evolution.... (1) S1S1 S2S2 S4S4 S3S3
Dynamic evolution.... (2) S1S1 S3S3 S2S2 S4S4 s 2 is rem.
An example: a chat system The chat system is made of: a server that dispatches messages accepts connections and clients connected to it logical localities are used for nicknames
Basic functionality...
Send & receive messages...
Conclusions... The proposed framework is general Easy integration: with D or Djoin Hard integration: with Ambient closes the gap between Klaim and its implementation X-Klaim