FYI

        http://www.sics.se/~joe/ubf/site/home.html

UBF is a language for transporting and describing complex data structures across a network.

While the XML series of languages had the goal of having a human readable format the UBF languages take the opposite view and provide a "machine friendly" format.

UBF is designed to be easy to implement. As a proof of concept - UBF drivers For Erlang, Oz, Java and TCL can be found in the download area. Implementors are welcome to add new languages.

UBF is designed to be "language neutral" - UBF(A) defines a language neutral binary format for transporting data across a network. UBF(B) is a type system for describing client/server interactions which use UBF(A).

Central to UBF is the idea of a "contract" which regulates the set of legal conversations that can take place between a client and a server.

A software component (the contract checker) is place between a client and server which checks that all interactions between thew client and server are legal.

-richard-