Browse Prior Art Database

Language Extensions for an Object Oriented Analysis Implementation

IP.com Disclosure Number: IPCOM000116771D
Original Publication Date: 1995-Nov-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 8 page(s) / 190K

Publishing Venue

IBM

Related People

Chen, C: AUTHOR [+3]

Abstract

Disclosed is a set of language extensions (macros) provided for a project developed using a hybrid Object Oriented Analysis (OOA) methodology. Project developers use a programming language with these language extensions to implement design models derived from independent OOA analysis. The set of language extensions supports a complete OOA implementation. The macro interface helps encapsulate the implementation details of the system's architecture and process input/output domains. This allows system wide optimizations for performance or code size to be made with minimal impact to the application domains.

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

Language Extensions for an Object Oriented Analysis Implementation

      Disclosed is a set of language extensions (macros) provided
for a project developed using a hybrid Object Oriented Analysis (OOA)
methodology.  Project developers use a programming language with
these language extensions to implement design models derived from
independent OOA analysis.  The set of language extensions supports a
complete OOA implementation.  The macro interface helps encapsulate
the implementation details of the system's architecture and process
input/output domains.  This allows system wide optimizations for
performance or code size to be made with minimal impact to the
application domains.

      A uniform mapping from the object oriented analysis to the
system implementation is presented.  A set of macros are used to
perform the mapping.  Each project developer uses specific macros or
macro pairs to facilitate the mapping of an object from analysis to
implementation:
  1.  Define attributes
  2.  Define create and delete accessors
  3.  Define state actions (active objects)
  4.  Define migration functions
  5.  Define event data types (active objects)
  6.  Create and delete instances
  7.  Migrate instances
  8.  Send events (active objects)
  9.  Manage instance lists

      Many of the mapping macros are sensitive to the object type.
If an incorrect macro is used by the developer, an error is injected
when the code is compiled.  The following object types are supported:
  1.  Active or Passive
  2.  Supertype, Subtype, or Stand-alone

The macro set is described as follows:

Define Attributes - An object may have zero or more attributes.
Attributes characterize an object.

Active Stand-alone Object:
           DEF_ACT_OBJ(object_name)
             developer defined attribute types
               and attribute names go here....
           ENDEF_ACT_OBJ

      Passive Stand-alone Object:
           DEF_PSV_OBJ(object_name)
             developer defined attribute types
               and attribute names go here....
           ENDEF_PSV_OBJ

      Active Subtype Object:
  This macro pair also pulls in the attributes defined for this
object's supertype automatically (attribute inheritance)
           DEF_ACT_SUBTYPE(object_name)
             developer defined attribute types
               and attribute names go here....
           ENDEF_ACT_SUBTYPE

      Passive Subtype Object:
  This macro pair also pulls in the attributes defined for this
object's supertype automatically (attribute inheritance)
           DEF_PSV_SUBTYPE(object_name)
             developer defined attribute types
               and attribute names go here....
           ENDEF_PSV_SUBTYPE

      Active or Passive Supertype Object:
  If this objec...