Browse Prior Art Database

Representing Domain-Dependent Data in an Object-Oriented System

IP.com Disclosure Number: IPCOM000122229D
Original Publication Date: 1991-Nov-01
Included in the Prior Art Database: 2005-Apr-04

Publishing Venue

IBM

Related People

Barrett, K: AUTHOR [+2]

Abstract

The Enabling Architecture is a general, modular, and flexible software architecture. It is the result of an investigation of alternative design strategies for Release 1.0 of Extended Services, which includes the Communications Manager. The initial goal was to eliminate some of the fundamental limitations of Communications Manager configuration; however, the software architecture described here is applicable to other products as well. Characteristics of the new Enabling Architecture include: Unification of redundant architectures. Support for a vertical team organization. Facilitation of code reuse. Support for multiple configuration files and configuration file formats. Separation of the user interface from the configuration data. Support for new function.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 18% of the total text.

Representing Domain-Dependent Data in an Object-Oriented System

      The Enabling Architecture is a general, modular, and
flexible software architecture. It is the result of an investigation
of alternative design strategies for Release 1.0 of Extended
Services, which includes the Communications Manager.  The initial
goal was to eliminate some of the fundamental limitations of
Communications Manager configuration; however, the software
architecture described here is applicable to other products as well.
Characteristics of the new Enabling Architecture include:
        Unification of redundant architectures.
        Support for a vertical team organization.
        Facilitation of code reuse.
        Support for multiple configuration files and
        configuration file formats.
        Separation of the user interface from the
        configuration data.
        Support for new function.
        Implementation of an open architecture.
        Preparation for later convergence with AIX*.

      The Enabling Architecture is an architecture designed to meet
most or all of these goals.  It is an object-oriented architecture
consisting of two main pieces: a topology graph showing the
relationships between objects such as hardware information, user
data, configuration files, and the communications features installed
by the user, and a C API implementing the methods used to access the
objects in the topology.

      The architecture is not tailored for use only by configuration;
it can be used by runtime or by any code that needs to access the
objects without regard for how or where they are stored.  In fact,
the architecture does not even assume that the context is
Communications Manager;  it was designed to be generic, for
application in other areas as well.
THE TOPOLOGY

      The topology is defined as the internal organizational
structure of the objects in the system.  It reflects the functional
dependencies between the objects, and allows an object to obtain
information easily about other objects related to it.  It is
represented by an acyclical directed graph (the topology graph)
consisting of objects of the system and the relationships between
them.  (Note:  the topology graph is NOT a class hierarchy.  That is,
the links between nodes in the graph do not represent IS_A or
subclass relationships.)

      The topology graph provides the architecture with several
important benefits:
      - It provides a concrete representation of installation
dependencies; for example, it shows that CPI-C requires that APPC be
installed, that SRPI sits on top of 3270, etc.
      - It provides a mechanism for doing both partial and complete
verification of objects in an organized fashion.
      - It facilitates the division of design and development work on
the objects into vertical teams, small teams of developers focusing
on one component of th...