Skip to main content
main-content

Über dieses Buch

Mobile Computation with Functions explores distributed computation with languages which adopt functions as the main programming abstraction and support code mobility through the mobility of functions between remote sites. It aims to highlight the benefits of using languages of this family in dealing with the challenges of mobile computation. The possibility of exploiting existing static analysis techniques suggests that having functions at the core of mobile code language is a particularly apt choice. A range of problems which have impact on the safety, security and performance are discussed. It is shown that types extended with effects and other annotations can capture a significant amount of information about the dynamic behavior of mobile functions, and offer solutions to the problems under investigation. This book includes a survey of the languages Concurrent ML, Facile and PLAN which inherit the strengths of the functional paradigm in the context of concurrent and distributed computation. The languages which are defined in the subsequent chapters have their roots in these languages.

Inhaltsverzeichnis

Frontmatter

Chapter 1. Towards Mobile Functions

Abstract
The major sources of inspiration for our subject come from the research areas of functional programming and foundational models of mobile computation. The aim of this chapter is to give an overview of the existing works in these areas which provide the background to this book.
Zeliha Dilsun Kirli

Chapter 2. Estimating Mobile Values

Abstract
Mobile code languages facilitate the transmission of code between remote sites in a system. A piece of code which is generated at one site can be transmitted for execution at another site which exhibits characteristics different from its place of origin. This poses implementation challenges for mobile code languages. For example, it becomes necessary for compiler writers to consider the heterogeneity of network nodes when generating code. By heterogeneity we mean that different nodes of a network may be of different architectures and therefore support different value representations.
Zeliha Dilsun Kirli

Chapter 3. Distributed Call-Tracking

Abstract
One of the positive qualities associated with mobile computation is that it provides a flexible setting for sharing computational resources. A piece of code can move towards a site which hosts the resources it aims to exploit. Input/output devices, file systems, network, memory and processing power (CPU cycles) are typical examples of shared resources which may be exploited by mobile code.
Zeliha Dilsun Kirli

Chapter 4. Confined Mobile Functions

Abstract
It is becoming increasingly common for distributed systems to bring together computing devices of different processing power, software provided by different sources and information with different secrecy and integrity requirements. Moreover, the users which interact with the system may be of different trust levels.
Zeliha Dilsun Kirli

Chapter 5. Noninterference and Mobile Functions

Abstract
In this chapter we continue our exploration of secure information flow in multi-user distributed systems. Of particular interest to us are systems in which data and users are classified such that the security class of a datum reflects its confidentiality level and the security class of a user determines which data he is authorized to observe.
Zeliha Dilsun Kirli

Chapter 6. Conclusions

Abstract
Each technical chapter in this thesis focuses on a practically-motivated problem concerning mobile computation in modern distributed systems. These problems arise from the heterogeneity of distributed systems in terms of the nature of computing devices, security requirements of the information flowing in the system and the trust level of users. The idea which is emphasized throughout is that principled language design and the exploitation of static program analysis techniques can offer satisfactory solutions to the problems considered in this thesis.
Zeliha Dilsun Kirli

Backmatter

Weitere Informationen