Active Prototypes: Modelling Survey Metadata

Stephen Jenkins (Mercator) and Tony Solomonides (UWE)

In this paper we describe a new and flexible survey metadata model which allows for a high degree of user extensibility and programming. There are two defining characteristics of this model that make it unique and interesting:

  1. At its foundation is a prototype-based object model.

  2. It uses parameterised names as a means of defining and applying functions and operations.

The paper will describe the principles of prototype-based systems and connect this work with work previously done on prototype-based programming languages. Subsequently, our unique parameterised naming mechanism will be introduced and described. The significant benefits accruing by the application of both these techniques will be discussed and explained.

Background

Prototype-based (or object-based) object systems are distinguished from class-based systems by the lack of explicit classes. The lack of the notion of classes means a simpler conceptual view from a user's perspective. It also enables a system design to be built incrementally and by example rather than by having distinct design (class definition) and system run (object instantiation) phases. Like the class-based model, prototype-based systems provide for a dual hierarchy of objects based on inheritance and component aggregation. That is, any object could be an aggregation of many others and it may also (or alternatively) act as a prototype from which others inherit.

The system described provides familiar domain objects (such as 'a question' or 'a summary table') in the form of prototypes which the user can instantiate and specialise for their own particular survey model(s). Even operations such as numeric addition and character string functions are supplied in this way. A unique method of naming these functions using a flexible parameterisation mechanism means that any object can be treated as a function to be applied in a suitable context in subsequent expressions.

Since every expression is treated as an application of one or more functions acting as prototypes, it is possible to automatically include descriptions of the (generalised) result as well as calculate or derive the appropriate outcome.

An abstract, but functioning, demonstration system exits currently and it is planned that by the time of the conference a more complete domain demonstration would be offered as part of the presentation of the work.


Back to: Top | Programme

Page last updated on 31 August, 2003