Patent US5864862A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5864862A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for creating reusable components in an object-oriented programming environment

Assignee: Telefonaktiebolaget LM Ericsson AB
•
Filing: 1996-09-30
•
Granted: 1999-01-26
•
Expires: 2016-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A novel object called the Data Object is used to represent different information types in a system in a singular way in an object-oriented programming environment. The Data Object stores the value of the information and a reference to an object that handles that specific type of information. All requests on the Data Object are forwarded to this handler. The interface allows programmers to query the structure of the information, place constraints on values and names of the parts. This makes it possible to write code that performs a service that adapts itself to whatever Data Object it gets. The use of a Data Object significantly minimizes the coupling between modules and make reusable code easier to develop because each object class in the object-oriented software system is now coupled only to the Data Object class.

Inventors

  • 👤 Peter Kriens
  • 👤 Stefan B. Eissing
  • 👤 Bengt Hakan Bjork

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 07:39
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/20; G06F8/24; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99942; Y10S707/99943; Y10S707/99944

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 179 words
In an object-oriented programming environment on a computer system comprising a processing unit, a memory unit, an I/O (input/output) unit and an operating system, a method for reducing the coupling between objects in the object-oriented programming environment comprising the steps of: creating a plurality of objects, each of said objects capable of communicating with a Data Object; selectively combining two or more of said plurality of objects to create one or more software program modules; linking said one or more software modules with each other and with the operating system of said computer to create an executable software application program; and executing said software application program on said computer system, said step of executing said software application program further comprising the steps of: processing each invocation of each of said objects in said software application program through said Data Object; and processing each interaction of each of said objects in said software application program with other objects in said software application program, with other software application programs or with the operating system of said computer through said Data Object.
Claim 2
Dependent Claim 179 words
In an object-oriented programming environment on a computer system comprising a processing unit, a memory unit, an I/O (input/output) unit and an operating system, a method for reducing the coupling between objects in the object-oriented programming environment comprising the steps of: creating a plurality of objects, each of said objects capable of communicating with a Data Object; selectively combining two or more of said plurality of objects to create one or more software program modules; linking said one or more software modules with each other and with the operating system of said computer to create an executable software application program; and executing said software application program on said computer system, said step of executing said software application program further comprising the steps of: processing each invocation of each of said objects in said software application program through said Data Object; and processing each interaction of each of said objects in said software application program with other objects in said software application program, with other software application programs or with the operating system of said computer through said Data Object.
Claim 3
Dependent Claim 120 words
In an object-oriented programming environment on a computer system comprising a processing unit, a memory unit, an I/O (input/output) unit and an operating system, a method for reducing the coupling between objects in the object-oriented programming environment comprising the steps of: creating a plurality of objects, at least one of which is a Data Object; selectively combining two or more of said plurality of objects to create one or more software program modules; linking said one or more software modules with each other and with the operating system of said computer to create an executable software application program; and executing said software application program on said computer system by processing communications between said plurality of objects through said Data Object.
Claim 4
Dependent Claim 120 words
In an object-oriented programming environment on a computer system comprising a processing unit, a memory unit, an I/O (input/output) unit and an operating system, a method for reducing the coupling between objects in the object-oriented programming environment comprising the steps of: creating a plurality of objects, at least one of which is a Data Object; selectively combining two or more of said plurality of objects to create one or more software program modules; linking said one or more software modules with each other and with the operating system of said computer to create an executable software application program; and executing said software application program on said computer system by processing communications between said plurality of objects through said Data Object.
Claim 5
Dependent Claim 220 words
In an object-oriented software system, a method for reducing the coupling between components using a Data Object as a container for passing information between said components, said Data Object being of a single object type, and having the following additional characteristics: said Data Object being capable of holding values that are a recursive composition of a defined and small set of fundamental types; said Data Object being amenable to efficient access and retrieval when the composition of an actual value contained in said Data Object is known; the composition of said Data Object being capable of being queried during the execution of a software program without requiring prior knowledge of said actual value contained in said Data Object; accesses to said actual value being delegated to an object that maintains descriptive information about the actual type and which is an instance of a meta-type class, and each fundamental type being correlated to a different class that defines the behavior of the fundamental type by implementing the applicable polymorphistic messages for that fundamental type; and the information about the composition further containing information for using said actual value in different contexts, such information encompassing, but not being limited to, user-defined type names, constraints on said actual values and named information for accessing the descendant values that a value is composed of.
Claim 6
Dependent Claim 220 words
In an object-oriented software system, a method for reducing the coupling between components using a Data Object as a container for passing information between said components, said Data Object being of a single object type, and having the following additional characteristics: said Data Object being capable of holding values that are a recursive composition of a defined and small set of fundamental types; said Data Object being amenable to efficient access and retrieval when the composition of an actual value contained in said Data Object is known; the composition of said Data Object being capable of being queried during the execution of a software program without requiring prior knowledge of said actual value contained in said Data Object; accesses to said actual value being delegated to an object that maintains descriptive information about the actual type and which is an instance of a meta-type class, and each fundamental type being correlated to a different class that defines the behavior of the fundamental type by implementing the applicable polymorphistic messages for that fundamental type; and the information about the composition further containing information for using said actual value in different contexts, such information encompassing, but not being limited to, user-defined type names, constraints on said actual values and named information for accessing the descendant values that a value is composed of.
Claim 7
Dependent Claim 80 words
The method of claim 3 further comprising a technique for generalizing the description of a data definition specification whereby the same descriptive objects are used to describe the selection in a choice type, said actual value in an enumerated type, the accesses to a field in a structure, and the accesses to the bits in a bit string, said technique further defining an object type named Label, wherein the instances contain a name and a reference to a meta-type object.
Claim 8
Dependent Claim 18 words
The method of claim 3 wherein the set of fundamental types is as defined in the ASN.1 standard.
Claim 9
Dependent Claim 19 words
The method of claim 3 wherein the set of fundamental types is as defined in the OMG IDL standard.
Claim 10
Dependent Claim 53 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: the program reads an ASN.1 module definition and creates a source file for a programming system containing a function that can create the meta-type classes structure that models the appropriate module definition for the invention.
Claim 11
Dependent Claim 53 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: the program reads an IDL module definition and creates a source file for a programming system containing a function that can create the meta-type classes structure that models the appropriate module definition for the invention.
Claim 12
Dependent Claim 43 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: the program accepts a Data Object and converts said actual values to a set of SQL commands for storing the Data Object in a database.
Claim 13
Dependent Claim 38 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: the program accepts a Data Object conforming to the ASN.1 standard and prints out the contents in ASN.1 value syntax.
Claim 14
Dependent Claim 37 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: the program accepts a meta-type conforming to the ASN.1 standard and reads in an ASN.1 value from a file.
Claim 15
Dependent Claim 41 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: the program accepts a Data Object conforming to the ASN.1 standard and prints out the contents in ASN.1 Basic Encoding Rule (BER) syntax.
Claim 16
Dependent Claim 38 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: the program accepts a meta-type conforming to the ASN.1 standard and reads in an ASN.1 BER value from a file.
Claim 17
Dependent Claim 51 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: the program accepts Data Objects, keeps a plurality of them in memory and allows them to be retrieved by specifying a list of names and values matching an object present in the cache.
Claim 18
Dependent Claim 58 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: a user interface program that accepts a description of the requested user interface in a data unit and interfaces with the application using data units, where all components in the user interface are capable of receiving and sending Data Objects.
Claim 19
Dependent Claim 46 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: a user interface program that accepts a meta-type object and creates a graphic user interface program that can view and edit any Data Object associated with that meta-type.
Claim 20
Dependent Claim 42 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: a program that accepts a list of Data Objects and can sort these objects in the order as defined by a list of labels.
Claim 21
Dependent Claim 38 words
An implementation in the C++ language of the method of claim 3 wherein the following characteristic is added: a program that converts a Data Object conforming to the OMG IDL specification to an IDL structure and vice versa.

References Cited (Backward Citations)

US5295222A Cited
US5235701A Cited
US5291583A Cited
US5684955A Cited
US5339430A Cited
US5437025A Cited
US5369766A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-01-25 2002-07-27 2003-01-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-01-25 2006-07-27 2007-01-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-01-25 2010-07-27 2011-01-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag