%J Software: Practice and Experience %P 1365-1394 %R 10.1002/spe.486 %T Klava: a Java package for distributed and mobile applications %N 14 %V 32 %K code mobility; distributed applications; network awareness; language and middleware implementation; tuple spaces; Java %L eprints326 %X Highly distributed networks have now become a common infrastructure for wide-area distributed applications whose key design principle is network awareness, namely the ability to deal with dynamic changes of the network environment. Network-aware computing has called for new programming languages that exploit the mobility paradigm as a basic interaction mechanism. In this paper we present the architecture of KLAVA, an experimental Java package for distributed applications and code mobility. We describe how KLAVA permits code mobility by relying on Java and present a few distributed applications that exploit mobile code programmed in KLAVA. %I John Wiley & Sons, Ltd. %A Lorenzo Bettini %A Rocco De Nicola %A Rosario Pugliese %D 2002