Skip to main content

A Facile tutorial

  • Conference paper
  • First Online:
CONCUR '96: Concurrency Theory (CONCUR 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1119))

Included in the following conference series:

Abstract

The Facile system combines language, compiler and distributed system technology into a programming environment supporting the rapid construction of reliable and sophisticated end-user applications operating in distributed computing environments. In particular, Facile is well suited for construction of systems based on the emerging “mobile agents” principle.

The Facile language combines a predominantly functional programming language, Standard ML (SML), with a model of concurrency based on CCS and its higher order and mobile extensions (CHOCS and the π-calculus). Furthermore, constructs for distributed computing are based on recent results from timed process algebra and true concurrency theory. These models are integrated with the fundamental philosophy of SML that all values in the language are first class values. This means that any value, simple, complex, user defined — even functions, process scripts and communication channels, may be placed in data structures, given as arguments to functions and returned as results of function invocations, or communicated between processes possibly residing on different machines. In addition, Facile brings the notion of strong fully polymorphic typing known from SML into the world of distributed computing. In fact this integration yields the fundamental building blocks for supporting programming of mobile agents in a secure and reliable manner. Significant components of a number of systems have been implemented in Facile, including Calumet — a cooperative work application that provides a distributed slide presentation; Einrichten — a tele-working application that presents virtual interior design at a distance; and Mobile Service Agents — a mobility application that enables access to agents that operate in an open, distributed environment.

This tutorial presents an overview of the Facile system, introduces the language constructs and goes through several program examples that should enable readers familiar with SML and process algebras, such as CCS and the π-calculus, to construct distributed systems with Facile. Examples are based on the Facile Antigua Release.

This work is partially supported by ESPRIT BRA 8130 LOMAPS.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Author information

Authors and Affiliations

Authors

Editor information

Ugo Montanari Vladimiro Sassone

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Thomsen, B., Leth, L., Kuo, TM. (1996). A Facile tutorial. In: Montanari, U., Sassone, V. (eds) CONCUR '96: Concurrency Theory. CONCUR 1996. Lecture Notes in Computer Science, vol 1119. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61604-7_61

Download citation

  • DOI: https://doi.org/10.1007/3-540-61604-7_61

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61604-7

  • Online ISBN: 978-3-540-70625-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics