Languages and Logics for Network Aware Programming
The increasing use of Internet and the wide spreading of the World Wide Web has stimulated the interest in distributed applications. These are no longer thought only for Local Area Networks but are increasingly interesting for Wide Area Networks. However, most assumptions about traditional applications locally distributed over are being challenged when moving towards wide area applications.
Klaim (Kernel Language for Agent Interactions and Mobility) allows programmers to concentrate on the distributed structure of programs while ignoring their precise physical allocations. The net primitives are designed to provide the programmer with the distributed infrastructure for handling all issues related to physical distribution, scoping and mobility of processes.
In this thesis we aim at identifying high level linguistic abstractions for network aware programming that permit extending Klaim in order to deal with hierarchical networks, connections, disconnections and dynamic nets. Moreover, formal tools for specifying and analyzing distributed systems modelled in Klaim will be introduced.