Stephane Bersier's home page

Universal Interaction

Fides is designed from the ground up to be a universal interaction language.

Relation with process calculi

Although Fides is not a calculus, it shares some key features with process calculi:

Principled unbounded metaprogramming

Unbounded metaprogramming allows processes to write arbitrary Fides code programmatically at runtime, while ensuring that no illegal code can be written. The latter is achieved via a faithful representation of Fides within Fides as typeful values.

Universal trusted third party

A designated channel allows communication with the Launcher, which provides certified code launch as a service. Given a piece of Fides code that defines a process behavior, the Launcher starts a process with the given behavior, and returns a signed launch certificate for the given code.

This makes the Launcher a universal trusted third party, as well as a personification of Fides.

Code

This Github project is a work-in-progress implementation of Fides in Scala.