Technical Report: DCC-2005-05

The Mob Core Language and Abstract Machine

Hervé Paulino* and Luís Lopes+

* DI-FCT & CITI, Universidade Nova de Lisboa
Quinta da Torre, 2829-516 Caparica, Portugal
Phone: +351 22 6078830, Fax: +351 22 6003654
E-mail: {herve}@di.fct.unl.pt

+ DCC-FC & LIACC, Universidade do Porto
R. do Campo Alegre 823, 4150-180 Porto, Portugal
Phone: +351 21 2948536, Fax: +351 21 2948541
E-mail: {lblopes}@ncc.up.pt

May 2005

Abstract

Most current mobile agent systems are based on programming languages whose semantics are difficult to prove correct as they lack an adequate underlying formal theory. In recent years, the development of the theory of concurrent systems, namely of process calculi, has allowed for the first time the modeling of mobile agent systems. Languages directly based on process calculi are, however, very low-level and it is desirable to provide the programmer with higher level abstractions, while keeping the semantics of the base calculus. In a series of two technical reports we present a scripting language for programming mobile agents called Mob. In this first report we describe the language's syntax and semantics. Mob is service-oriented, meaning that agents act both as servers and as clients of services and that this coupling is done dynamically at run-time. The language is implemented on top of a process calculus which allows us to prove that the framework is sound by encoding its semantics into the underlying calculus. This provides a form of language security not available to other mobile agent languages developed using a more ah-doc approach.

Keywords: Mobile Computations, Service-Oriented, Process-Calculus, Programming Language, Run-Time System.