

|
Virtual machines and prototype implementation
The main objective of this research is the design and prototype implementation of languages for network aware programming. We plan to implement constructs that express notions like locality, migration, failures, security, cooperation and coordination. All these constructs must be sufficiently compositional and formal to guarantee static and dynamic verifiability.
This phase of the project aims to foster the cooperation of different complementary competencies, namely consolidating the knowledge transfer and cultural synergies among the various competencies of the research units.
We plan to implement the newly designed features of KLAIM oriented to support, e.g., dynamic negotiation of quality of service properties and constraints. KLAIM will also be ported on PDAs with Windows CE, using C++. We shall create appropriate communication protocols to enable KLAIM components written in Java to communicate with C++ components running on Windows CE. Moreover a porting of KLAIM under C# is planned.
We plan to extend the Java byte-code verifier and include our system for checking monitor usages. After that, we will experiment the prototype on non-trivial byte-codes from Sun, IBM and Microsoft compilers. We will also extend the verifier, to cope with race conditions and to perform deadlock analysis. The research developed in the Theme 4 of the project (Monitoring Resource Usage) will help us to define the appropriate analyser.
With respect to the Safe Ambient Machine, we will improve the present implementation in Java. The current prototype may have a degraded service of message delivery. Nodes, before moving, leave a forwarder that sends messages to the new address. As a consequence, messages may cross a long chain of forwarders to reach the destination. To this aim, we plan to reengineer the prototype, by using already developed distributed architectures (e.g. JINI). We will also implement the garbage-collection of forwarders. |