Linguistic Constructs for Object-Oriented Mobile Code Programming & their Implementations
Phd Thesis
Lorenzo Bettini
The growing use of the Internet as primary environment for developing,
distributing and running applications has increased the need for robust and
flexible techniques to design programs running over a global network. This
has shown the limitations of traditional software technologies and called for
new programming languages with the right linguistic abstractions for dealing
with global applications. Object-oriented programming and mobile code
technologies are good candidates as key ingredients of new programming
abstractions specifically targeted to distributed applications.
In this thesis we present new linguistic constructs for developing global
applications that exploit the concepts of object-oriented programming and mobile
code, and the language X-Klaim that is based on these constructs. X-Klaim
is an experimental programming language for developing distributed applications
relying on mobile agents and on object-oriented mixin-based mobile code.
The Java package Klava is also presented that implements the run-time system
for our language.
In particular we present the kernel languages Klaim (a language for modeling
distributed applications and mobile code that interact through multiple
distributed tuple spaces) and MoMi (a general framework for integrating
object-oriented features into a coordination language for mobile code), on which
X-Klaim is based, and all the design issues that brought to the extension of the
original Klaim model and to the introduction of the calculus MoMi. Then we
describe the implementations of these linguistic constructs and the general
programming techniques developed for these implementation issues.