Currently, a number of distributed software systems development tools exist, but typically they are designed either to satisfy industrial standards – industrial perspective – or to experiment new concepts – research perspective. There is a need for software development tools where programmers can both learn about distributed computing – pedagogical perspective – and build quality distributed software systems through prototyping – experimental perspective. This paper introduces the VIRTUOSI Project, which aims at building a toolkit to assist in developing and executing distributed software systems from both pedagogical and experimental perspectives. It combines virtual machine, object-oriented programming and computational reflection concepts to give those perspectives. The VIRTUOSI runtime environment can be seen as a reflective composed of virtual machines, which provides mechanisms and gives transparency to critical aspects of distributed systems, such as objects migrat...
Alcides Calsavara, Agnaldo K. Noda, Juarez da Cost