DisCo Logo  

The DisCo Home Page


Main Page
Disco in a Nutshell
Formal Issues
Publications
Bugreporting
Members
Links


Example: Building a Distributed Application using DisCo and Corba


This page describes how a simple distributed application is designed and implemented using DisCo and Corba. The application is a seat reservation system for an ice hockey rink. A number of clients are required to be able to reserve seats for an ice hockey game.

The example is covered in more depth in a conference paper currently under submission.

The application level DisCo specification is given in three layers:

  • reservation describes the functionality in terms of seats,
  • client_server introduces clients and servers, and
  • partition describes how seats are distributed to servers.

The two-way communication details between clients, servers, and seats are given as separate refinements:

These layers have been instantiated from templates using the all-powerful sed Unix command, but a paper describing how such instantiation can be done more formally has been submitted for publication.

Corba IDL interfaces derived from the DisCo specification are:

We have derived C++ source code for the free Corba implementation Mico version 2.2.5. The interesting source code files are:

If you are interested in trying out the implementation, you can get the complete implementation (including this page and the DisCo specifications) as a tar archive.
Give feedback.