Browse Prior Art Database

Fast and Portable Copying/Persistent Framework for System Object Model Visualization

IP.com Disclosure Number: IPCOM000117863D
Original Publication Date: 1996-Jun-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 100K

Publishing Venue

IBM

Related People

Chow, AC: AUTHOR [+3]

Abstract

When a System Object Model (SOM) object is visualized in a builder environment, it can then be manipulated by an end user to visually construct a program. The builder must provide save/restore/copying operations to the end users so that they can put away the programming result after they manipulate their programming construct. In the builder environment, time taken to save/restore/copy is very critical. Most generic persistent framework don't make use of special characteristics of a builder framework, particularly, the well-defined set of operated objects, thus, cannot yield satisfactory result. Some persistent frameworks cannot discern the similarity between save/restore and copying operation.

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

Fast and Portable Copying/Persistent Framework for System Object
Model Visualization

      When a System Object Model (SOM) object is visualized in a
builder environment, it can then be manipulated by an end user to
visually construct a program.  The builder must provide
save/restore/copying operations to the end users so that they can put
away the programming result after they manipulate their programming
construct.  In the builder environment, time taken to
save/restore/copy is very critical.  Most generic persistent
framework don't make use of special characteristics of a builder
framework, particularly, the well-defined set of operated objects,
thus, cannot yield satisfactory result.  Some persistent frameworks
cannot discern the similarity between save/restore and copying
operation.

      This design and implementation is based on a superclass called
vbase and its metaclass M_VBASE.  Together they provide two services:
copying and persistency.  All objects to be copied or persistent must
be VBASE objects.  VBASE class defines the virtual methods that are
called during the copying, saving or restoration of a set of VBASE
objects.

      To be most optimized for speed and file size, the memory
location of an object is used as its ID during a copying or
persistent operation.  A group of portable media interface methods
are also provided to support portable file formats accross OS/2* and
AIX* systems.  The API supports the primitive save/restore of
integers with 1, 2, 4, bytes and floats with 4 bytes in a system
independent manner.  String and other IDL types are also supported.

      Both copying and persistence oepration starts by identifying a
set of objects to be copied or operated on.  VCOPYGROUP is defined in
M_VBASE to carryout copying operation.  VCOPYGROUP takes a set
containing the objects to be copied.  It creates for each element a
new copy of the same class.  VDOCOPYSINGLE of the new copy is called
and passed with the pointer to the old element.  VDOCOPYSINGLE is
defined in VBASE.  It is overridden to provide the appropriate
copying operation between the old element and the new copy.
Cross-referenced pointers between the objects in the set are usually
copied directly by the VDOCOPYSINGLE method.  However, the pointers
to the old element and that to the new copy are stored into a
hashtable by VCOPYGROUP method so that it can be used later by
VDOUPDATEPOINTER of the new copy.  Updating of the pointers carries
the cross-referenced relationship amon...