40 Years of Computing at Newcastle

Management of Object-Oriented Action-Based Distributed Programs

L.E. Buzato

University of Newcastle upon Tyne. 1994

Abstract

This thesis addresses the problem of managing the runtime behaviour of distributed programs. The thesis of this work is that management is fundamentally an information processing activity and the object model, as applied to action-based distributed systems and database systems, is an appropriate representation of the management information. In this approach, the basic concepts of classes, objects, relationships, and atomic transition systems are used for form object models of distributed programs. Distributed programs are collections of objects whose methods are structured using atomic actions, i.e. atomic transactions. Object models are formed of two submodels, each representing a fundamental aspect of a distributed programs. The structural submodel represents a static perspective of the distributed program, and the control submodel represents a dynamic perspective of it. Structural models represent the program's objects, classes and their relationships. Control models represent the program's object states, events, guards and actions - a transition system. Resolution of queries on the distributed program's object model enable the management system to control certain activities of distributed programs.

At a different level of abstraction, the distributed program can be seen as a reactive system where two subprograms interact: an application program and a management program; they interact only through sensors and actuators. Sensors are methods used to probe an object's state and actuators are methods used to change an object's state. The management program is capable to prod the application program into action by activating sensors and acturators available at the interface of the application program. Actions are determined by management policies that are encoded in the management program. This way of structuring the management system encourages a clear modularization of application and management distributed programs, allowing better separation of concerns. Managemental concerns can be dealt with by the management program, functional concerns can be assigned to the application program.

The object-oriented action-based computational model adopted by the management system provides a natural framework for the implementation of fault-tolerant distributed programs. Object orientation provides modularity and extensibility through object encapsulation. Atomic actions guarantee the consistency of the objects of the distributed program despite concurrency and failures. Replication of the distributed program provides increased fault-tolerance by guaranteeing the consistent progress of the computation, even though some of the replicated objects can fail. A prototype management system based on the management theory proposed above has been implemented atop Arjuna; an object-oriented programming system which provides a set of tools for constructing fault-tolerant distributed programs. The management system is composed of two subsystems: Stabilis, a management system for structural information, and Vigil, a management system for control information. Example applications have been implemented to illustrate the use of the management system and gather experimental evidence to give support to the thesis.


List of PhD. Students and Theses Titles - 1994
List of PhD. Students and Theses Titles - Index
Contents Page - 40 years of Computing at Newcastle
Abstract - PhD: Buzato, 2 July 1997
Brian Randell