Home » Projects » Retired Projects » Darkover

Darkover

  1. Name:
    Darkover
  2. Source:
    Columbia University, Department of Computer Science, Programming Systems Laboratory
  3. Brief description:
    Darkover is an object management system that provides persistent object storage and retrieval. It fully supports object-oriented data modeling and provides a C function-level interface for data access and manipulation. Darkover also has a query engine that supports both associative (SQL-like) and navigational queries.Darkover loads a schema definition written in Doddl (Darkover Data Definition Lauguage), which defines the classes in the objectbase. The schema definition can be written as a set of multiple files, and compiled by the schema compiler into the internal format that Darkover reads. The Evolver utility supports limited schema evolution of existing objectbases.

    A class specifies one or more superclasses, primitive attributes (integers, strings, timestamps, etc.), file attributes (pathnames to files in an intentionally opaque “hidden file system”), composite attributes in an aggregation hierarchy, and reference attributes allowing arbitrary 1-to-N relations among objects.

    Darkover provides a C functional interface to access the objects in the objectbase. Each object is identified by a unique, persistent identifier. Given an object identifier (aka OID), functions are provided to access all the information about that object, such as it’s class, attributes, and related objects. There are also functions to construct the objectbase, such as adding objects, deleting objects, moving objects etc.

  4. Evaluation against applicable general dimensions:
    1. Availability: commercial/licensed/public domain
      Licensed.
    2. Cost:
      Free to ftp PGP-encrypted tar file. Nominal cost to ship tape and manuals.
    3. Degree of support/maturity/testing/usage:
      Support available only to funding sponsors. Regular use as part of the Oz environment since November 1994. Was also been used by undergraduates students in the Introduction to Software Engineering course in Spring 1996.
    4. Speed:
      Depends on the actual application usage, size of objectbase and degree of schema complication. Reasonable overhead.
    5. Computing platforms and OS:
      SparcStation SunOS 4.1.3, Solaris 2.5.1
    6. Environment Dependencies:
      C, lex and yacc.
    7. Software Dependencies:
      1. Development:
        Standard UNIX and gnu tools such as gcc, emacs, diff, rcs.
      2. Execution:
        None.
    8. Language compatibilities:
      Darkover is implemented in C, lex and yacc.
    9. Footprint:
      1. Source Distribution: 960KB
      2. Source Installation: 960KB
      3. Binary Installation: 1.2MB
    10. Openness/integrability/source availability:
      All sources available.
    11. Extensibility:
      Through the schema definition language. Darkover is provided as a C library and can be interfaced to other system components.
    12. Pedigree:
      The research that resulted in Darkover was funded by the Advanced Research Projects Agency, by the National Science Foundation, and by the New York State Science and Technology Foundation Center for High Performance Computing and Communications in Healthcare.
  5. Contact person(s):

    Marvel User Support
    Programming Systems Laboratory
    Department of Computer Science
    Columbia University
    500 West 120th Street
    New York, NY 10027
    marvelus@cs.columbia.edu
    (212) 939-7184
    fax: (212) 666-0140