Ponder2
Ponder2 combines a general-purpose object management system with a Domain Service, Obligation Policy Interpreter, Command Interpreter and Authorisation Enforcement. The Domain Service provides an hierarchical structure for managing objects. The Obligation Policy Interpreter handles Event, Condition, Action rules (ECA). The Command Interpreter accepts a set of commands in the form of a high-level language called PonderTalk via a number of communications interfaces which may perform invocations on a ManagedObject registered in the Domain Service. The Authorisation Enforcement caters for both positive and negative authorisation policies, provides the ability to specify fine grained authorisations for every object and implements domain nesting algorithms for conflict resolution.
Ponder is the name of a policy specification language developed at Imperial College over a number of years. A set of tools and services were developed for the specification, analysis and enforcement of these policies. Thus, the name Ponder became associated not only with the language but with the entire toolkit. Ponder2 is a significant re-design and re-implementation of Ponder. Although some of the underlying concepts bear similarity to the basic constructs of Ponder the entire framework has been re-designed. In contrast to the previous version, which was designed for general network and systems management, Ponder2 has been designed as an entirely extensible framework that can be used at different levels of scale from small embedded devices to complex services and Virtual Organisations.
Ponder2 has been realised with financial support from several sponsors.
Documentation
The following documents will assist you in downloading, installing and running Ponder2.
Ponder2Overview A brief, high level, overview of Ponder2
Installation and Running Guide How to get Ponder2 and start it
Using Ponder2 How to write and send commands to Ponder2
PonderTalk The complete language reference
Writing Your Own Managed Objects Guide to using Java with Ponder2
Ponder2 Policies Descriptions of the policy types supported by Ponder2
Ponder2 Events How to define and create events for Policies
Ponder2 Authorisation Description with examples of authorisation constraints
The Ponder2 Shell How to interact with Ponder2
Ponder2 Internals A description of the inner workings of Ponder2
Ponder2 Communications How Ponder2 uses objects from another Ponder2 instantiation
Updating from Ponder2 v1 Using Ponder2 before PonderTalk? Simple steps to convert your Managed Objects
Managed Object Documentation Command documentation for Ponder2's core Managed Objects
Ponder2 Tutorial Complete, self-contained runtime files and tutorial with examples
Glossary Explanation of some of the terms used in this site
API Documentation
These documents are give detailed documentation of the PonderTalk interface to the standard Ponder2 Managed Objects in PonderDoc format and to the internal Java classes in JavaDoc format.
PonderTalk API Documentation runtime command documentation for all core Ponder2 managed Objects
Ponder2 Java API Documentation Full internal documentation for Ponder2
Software/Downloads
There are several downloads with different configurations of Ponder2 available.
This software is made available under the terms of theGNU Lesser General Public Licenseas published by the Free Software Foundation.
Tutorials
The following documents contain the current tutorial for learning about Ponder2 by yourself. There are also copies of presentation tutorials given at various conferences in the past.
Ponder2 Tutorial (Zip file) Complete, self-contained, runtime files and tutorial with examples
(superseded) UK-Ubinet Workshop (July 2006) Ponder2.zip SMCTutorialSlides1up.pdf
(superseded) Internal DSE tutorial (Nov 2005) 200511 SMC_Tutorial.zip 200511SMC-AnIntroduction.pdf 200511SMCDocumentation.pdf
Publications
Contact Information
For information regarding Ponder2 please email <ponder2 AT doc DOT ic DOT ac DOT uk>.
