[comp.sys.isis] Meta 1.2 Release

wood@eldir.cs.cornell.edu (Mark D. Wood) (11/28/89)

Release 1.2 of Meta is now available and may be obtained in the same
manner as the ISIS releases.


Description:

The Meta project provides a platform that facilitates writing the
control components of distributed application management programs.
Dynamic system information may be gathered and acted upon using Meta
library routines; less volatile system information may be reliably
stored in globally available relations maintained by Meta.

The dynamic system information is collected via an abstraction of
sensors called abstract sensors.  To build an abstract sensor using
Meta the system architect writes a function that provides the sensor's
value; this function is linked in with the Meta library to produce the
sensor.

An abstract sensor may be polled to obtain its current value, and a
client can set a "watch" on a sensor instructing the sensor to notify
the client when the sensor value satisfies some relation.  The Meta
library handles the naming and communication issues in a uniform
manner for all sensors.  Sensors of different types are permitted; we
currently support the base types integer, real, and string along sets
of these types.  Meta also provides fault-tolerance against sensor
crashes.  Multiple replicas of a sensor may be run simultaneously to
provide greater resiliency; the Meta system ensures that one-copy
behavior is achieved.  Meta also guarantees that all clients observing
a set of events will observe a consistent ordering of the events.

Static (and quasi-static) system information may be stored in relational
tables, which are updated atomically and are highly available. 

Two query languages are currently supported.  A relational algebra
language is available that can be invoked both in an interactive
manner and through queries embedded in C.  We also support CProlog
access to sensors and (read only) access to tables, but this is not
included in this release.  If you are interested in CProlog access,
please contact us for further details.


Planned Extensions:

Actuators:  We currently do have a limited actuator mechanism, but we
are still experimenting with different formulations of actuators.
We expect to release a simple version of actuators in the next
release.

Real-Time, Fault-Tolerant Behavior: Robustness against a wider range
of failures is in the works.  We are currently augmenting Meta to
support imprecise sensors, i.e., sensors that have a degree of
uncertainty stemming from imprecise measurement, message delay, and
nondeterministic behavior of the physical system being monitored.

Higher-Level Control Languages:  The current languages are not very
useful expressing predicates that include the time events occur in the
system.  We are currently developing a rule-based system that is
grounded in a real-time temporal interval logic.  This language should
allow time dependent policies to be easily implemented.


Primary Authors: K. Marzullo, M. Wood


References:

"Meta Functional Description," IDS, October 1989.

  This paper can be found in the doc subdirectory as fd.tex. It 
  presents the Meta architecture at the interface level and 
  provides the information needed to write a Meta application.

"ISIS and the Meta Project," K Birman and K. Marzullo,
Sun Technology, 2(3):90-104, Summer 1989.

  Gives a brief (and somewhat dated) description of the goals and
  structure of Meta.

"Implementing Fault--Tolerant Sensors," K. Marzullo,
Cornell University Department of Computer Science Technical
Report 89-997, May 1989.

  Presents the theory behind real-time fault-tolerant abstract
  sensors.

Soon to appear are two papers: one describing distributed application
management using Meta and one giving a detailed description of the
sensor and actuator model underlying Meta.