Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Interfacing Between Structured and Object-Oriented Languages

IP.com Disclosure Number: IPCOM000111796D
Original Publication Date: 1994-Mar-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 121K

Publishing Venue

IBM

Related People

Medlin, TW: AUTHOR [+3]

Abstract

Disclosed is a method of moving information between object-oriented and structured programming languages. This method is significantly quicker, more extensible, and easier to use than existing methods.

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

Interfacing Between Structured and Object-Oriented Languages

      Disclosed is a method of moving information between
object-oriented and structured programming languages.  This method is
significantly quicker, more extensible, and easier to use than
existing methods.

      Programs written in object-oriented languages often wish to
interface to those written in traditional languages.  One reason for
this is because most popular operating systems are written in
structured programming languages.  Another reason lies in the wealth
of applications already written in structured programming languages.
Therefore, to invoke the services provided by operating systems,
communications subsystems or existing applications in general,
translation from objects to records (the structured programming
equivalent of objects) and records to objects is necessary.

      Interfacing between "pure" Object-Oriented (OO) languages and
traditional programming languages, while necessary, is very
difficult.  Traditional structured and functional programming
languages separate the behavioral or algorithmic parts from the state
or data structure parts of a program.  An object, which forms the
basis of object-oriented languages, combines these two parts together
to form an autonomous entity in memory.

      This is trivial for hybrid languages such as C++ and Object
Pascal which start with a structured programming language and add
object-oriented concepts to it.  However, there are many "pure"
object-oriented languages such as Smalltalk for which this
transformation is not so easy.

      Third-generation languages (3GL), such as COBOL and C, are
"typed" languages and have the concept of records composed of
subrecords and/or elementary items.  The way records and subrecords
can be defined varies from language to language.  In any case,

o   An elementary item cannot be further subdivided and represents a
    data type supported by the language.  Examples are: PIC X and PIC
    9 in COBOL, char and short int in the C language.

o   A subrecord is a grouping of elementary items or subrecords.

o   A record is the fully logical entity.  It is composed of
    subrecords and/or elementary items.

Objects in "pure" oo languages have a set of functions (called
methods) which protect the internal state of the object.  The
difference between objects and record is no direct manipulation of
state (data contained within the object) is allowed.

      We came up with a mechanism made up of the elementary items
classes.  Creating classes to model the elementary items of structure
programming languages and the aggregates of these elementary items is
the new and original idea which forms this patent.  Fields are added
dynamically using these classes.  It provides the following
advantages:

1.  It allow us to bypass the costly 'perform'.  A simple test of a
    two-field record took less than half the time to perform one
    thou...