Playground Development Environment

The Playground development environment supports the creation of distributed applications. A distributed application is composed of multiple communicating processes, called modules, usually running on separate computers. Developers can use the Playground library to create Playground modules programmatically. End-users can construct graphical interfaces for these applications, configure communication among the components interactively, and make the applications available to others on the World Wide Web. An overview of each major software component is provided below.

Veneer

The Veneer is a library of data types that enables programmers to create Playground modules. Multiple hardware and operating system platforms are supported, enabling applications that communicate among different types of computers. Since modules are written in C++, adapting existing C/C++ legacy code into Playground distributed applications is possible. The Playground library handles interprocess communication, insulating developers from the low-level details of operating systems and networks.

EUPHORIA

EUPHORIA is a user interface management system for Playground. With EUPHORIA, end-users can create direct manipulation graphical user interfaces, animation interfaces, and visualization interfaces interactively through the use of an intuitive graphics editor. No programming is required to create these interactive graphical displays or to associate them with their underlying applications.

Mediator

The Mediator visual configuration tool allows end-users to view running modules and form connections among published variables interactively at runtime. Application designers can save an application's configuration, enabling automated launching of a completed application.

In conjunction with the Application Management System, the Mediator can also be used to launch modules and connect to running applications through the World Wide Web.

Application Management System

The Application Management System allows developers to register and advertise their Playground applications on the World Wide Web through the use of application pages. Each application page is a World Wide Web document that is viewable through the use of a Java-enabled web browser. Application pages provide both documentation and an end-user mechanism for automatically launching the application. This enables end-users to run the applications over the Internet and other application designers to incorporate components into their distributed applications.

With the Application Management System, end-users can use complex distributed applications without knowing the internal details of the application. Placement of modules on available machines is automatically determined by the Application Management System on the basis of specified application requirements and current resource utilization.


Programming Model

Playground is based on I/O Abstraction, a programming model in which each module of a distributed system interacts with an external environment through a narrow data interface. The model supports a separation of active and reactive control and inherits ideas from the formal I/O automaton model.