Foundations, Concepts and Implementations of mobile computin
obile Object Systems: Abstracts Introduction This book presents a collection of papers dealing with different aspects of mobile computations. Mobile computations are computations that are not bound to single locations, but may move at will to best use the computer network''s resources. In this view, the network becomes a single, vast, programmable environment. Among computer scientists, many feel that this approach will have a profound effect on the way we design and implement distributed applications, and they agree that we are witnessing a paradigm change. However, this new and exciting paradigm requires advances, both theoretical and applied, in fields such as programming languages (where we need a sound semantic foundation and efficient implementations), operating systems and software safety and security. Some of the first steps towards a programmable Internet are documented here. This book follows a particular approach to mobile computation. It emphasizes the synergy between mobility and object-oriented programming, hence the title Mobile Object Systems. Mobile object systems, in our view, are self-contained and autonomous groups of objects. They carry out a computation for an end-user in some initial computational environment and may dynamically change their environment for one that is on a remote computer. There is a close relationship between mobile object systems and research on so-called mobile software agents. In both cases, the focus is software mobility, but we prefer the terms mobile computation and mobile object systems as they are more accurate descriptions of the technology, while mobile agents has a fuzzy meaning that overlaps with artificial intelligence research. The papers in this book are more concerned with problems of software mobility per se. Nevertheless, the terms are quite close and are often used interchangeably even within the present work. The starting point of this book was a number of discussions and presentations given at the second International Workshop on Mobile Object Systems (MOS''96) held in 1996 in conjunction with the European Object Oriented Programming Conference (ECOOP''96) in Linz. The core of the book is made up of reworked versions of the submitted papers. However, we wanted to broaden the scope of this volume and survey a large portion of the research in this rapidly expanding field. We invited a number of researchers to contribute reprints of important papers or to write entirely new pieces. This book is the result. Overview The book is organized in three parts: (I) Foundations, (II) Concepts, and (III) Implementation, followed by an appendix. We detail the content of each part next. Part I of the book contains chapters giving background and motivation for the research on mobile computations. The chapter by Cardelli is a brief introduction to the issues and challenges of mobile computation. It is followed by a reprint of a paper by Tsichritzis, written twelve years ago, which describes many of the features we are looking for in mobile object systems using the animal world as a metaphor for mobile computations. The chapter by Waldo et al.was written in 1994 and convincingly argues against transparency in distributed computing. To some extent it motivates the work on mobile computations, as mobile computations naturally suggest making mobility and location visible to the programmer. The chapter by Chess et al.investigates advantages and disadvantages of mobile computations by looking at their application. The last chapter, by Tschudin, contains a philosophical and philological discussion of messages and instructions. Part II contains descriptions of systems and concepts for mobile computations. The chapter by Cugola et al.analyzes languages that support some form of code mobility, trying to compare them and get at some of the basic principles of those languages. The chapter by Acharya et al.presents Sumatra, a Java based environment for mobile applications. The chapter by Bharat and Cardelli presents Visual Obliq, an implementation of mobile computation based on Obliq. The chapter by Tschudin presents a messenger environment. The chapter by Mira da Silva discusses the relationship between persistence and mobility. The chapter by Vitek et al.considers security for communication between object systems. The chapter by Kato looks further into security issues. The chapter by Ciancarini and Rossi presents an architecture for coordination and communication on wide area networks that can be used between mobile computations or plain Java programs. Part III contains papers detailing implementation considerations and techniques. The chapter by Knabe looks at the trade-offs between different representations of agents and efficiency. In the second chapter, Franz presents a particular representation called Slim Binaries which is particularly well suited to mobile code, as well as a more general dynamic code optimization technique. The chapter by Dugan describes the implementation of mobility of polymorphic data in a strongly typed programming language. Finally, the paper by Dðmel discusses the implementation of a system that allows Java programs to interact with Telescript agents. We would like to thank the program committee of the MOS''96 workshop, Joachim Baumann, Luca Cardelli, Paolo Ciancarini, and Doug Lea, for their help and excellent reviewing. February 1997 J. Vitek and C. Tschudin Geneva and Zurich ------------------------------------------------------------------------ Objectworld D. Tsichritzis An environment is outlined in which programming objects collect and disseminate information, using analogies from the animal world. Objects have their own rules of behaviour. They coordinate their activities by participating in events. Objects get born, move around, communicate and receive information and, eventually, die. ------------------------------------------------------------------------ Mobile Agents: Are They a Good Idea? David Chess, Colin Harrison, Aaron Kershenbaum Mobile agents are programs, typically written in a script language, which may be dispatched from a client computer and transported to a remote server computer for execution. Several authors have suggested that mobile agents offer an important new method of performing transactions and information retrieval in networks. Other writers have pointed out, however, that mobile agents introduce severe concerns for security. We consider the advantages offered by mobile agents and assess them against alternate methods of achieving the same function. We conclude that, while the individual advantages of agents do not represent an overwhelming motivation for their adoption, the creation of a pervasive agent framework facilitates a very large number of network services and applications. ------------------------------------------------------------------------ A Note on Distributed Computing Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall Much of the current work in distributed, object-oriented systems is based on the assumption that objects form a single ontological class. This class consists of all entities that can be fully described by the specification of the set of interfaces supported by the object and the semantics of the operations in those interfaces. The class includes objects that share a single address space, objects that are in separate address spaces on the same machine, and objects that are in separate address spaces on different machines (with, perhaps, different architectures). On the view that all objects are essentially the same kind of entity, these differences in relative location are merely an aspect of the implementation of the object. Indeed, the location of an object may change over time, as an object migrates from one machine to another or the implementation of the object changes. It is the thesis of this note that
Buy Mobile Object Systems Towards the Programmable Internet: Second International Workshop, MOS96, Linz, Austria, July 8 - 9, 1996, Selected Presentations and Invited Papers At The Lowest Price!