Programming device

Information

  • Patent Grant
  • 6820270
  • Patent Number
    6,820,270
  • Date Filed
    Friday, April 14, 2000
    24 years ago
  • Date Issued
    Tuesday, November 16, 2004
    20 years ago
Abstract
In order to reduce the data volume in constituting multiple instances from a type, a programming device is provided, having a software tool for processing objects, of which a first object, equipped with data, is provided as model for a second object that has a pointer with which, at the beginning of an access to the second object, the data of the first object can be incorporated into the second object by the software tool.
Description




FIELD OF THE INVENTION




The present invention relates to a programming device having a software tool for processing objects, of which a first object, equipped with data, is provided as model for a second object that has a pointer with which, at the beginning of an access to the second object, the data of the first object can be incorporated into the second object by the software tool.




BACKGROUND OF THE INVENTION




Data are often stored in a first object in the form of a type and in a second object in the form of an instance, the type being provided as model for the instance. An instance usually comprises both the instance-specific and the type-specific data, the result being that the type-specific data need to be stored several times in a memory of the programming device. If, for example, n instances are applied to a type, the type-specific data usually need to be stored (n+1) times, which means a very large data volume.




SUMMARY




It is an object of the present invention to reduce the data volume in a programming device when creating multiple instances from a type.




This object is achieved with a programming device according to the present invention.




According to the present invention, only the instance-specific data and a reference (pointer) to the type are deposited in the instance. The type-specific data are not incorporated into the instance until a data access to the instance begins.




In an embodiment of the present invention, provision is made for at least one data group of the first object to be depositable by the software tool into the second object, the result being that at the beginning of an access to the second object, the software tool does not incorporate this data group of the first object into the second object.




This makes it possible for a data modification in a type to have either an influence or no influence on the data in an instance constituted with that type. A programmer can thus choose whether future data modifications in the type are to have an affect on the instance data.











BRIEF DESCRIPTION OF THE DRAWINGS





FIGS. 1 and 2

show, in a schematic depiction, a memory of a programming device having software objects.











DETAILED DESCRIPTION




In

FIG. 1

, the reference number


1


designates a main memory of a programming device into which a software tool


2


, a first object in the form of a type


3


, and a second object in the form of an instance


4


are loaded. Type


3


serves as model for instance


4


, and comprises a type identifier Tk and data subdivided into data groups


6




b


through


6




f


, a data group comprising, for example, a width of 8 bits or a width of only one bit. Prior to a data access, instance


4


has only instance-specific data


7


and an attribute list, which in the present example comprises six fields


8




a


,


8




b


through


8




f


. Field


8




a


is occupied by a pointer Id for addressing type


3


with type identifier Tk; fields


8




b


through


8




f


, which are associated with data groups


6




b


through


6




f


of type


3


, are occupied by attributes which indicate whether at the beginning of an access to the instance data, the data to be incorporated by software tool


2


in the event of a data modification in data groups


6




b


through


6




f


of type


3


are the modified data or the data valid prior to that modification.




It is assumed hereinafter that fields


8




b


,


8




c


, and


8




d


are occupied by an attribute


1


, and fields


8




e


and


8




f


by an attribute


0


. This means that the data modifications in data groups


6




b


through


6




d


of type


3


, but not modifications in data groups


6




e


and


6




f


, are to be taken into account upon incorporation into instance


4


. As a result, it is necessary for software tool


2


to write data groups


6




e


and


6




f


into instance


4


prior to any modification in those data. It is also assumed that the software tool created data groups


6




b


through


6




f


at a time t


0


and modified them at a time t


1


, thereby deleting the data valid at that time. The modified data groups are labeled


6




b


′ through


6




f


′. Before a user can access the instance data, the type data must first be incorporated by software tool


2


into instance


4


(FIG.


2


). Corresponding to the occupancy of fields


8




b


through


8




f


of the attribute list, software tool


2


incorporates into instance


4


only the type data valid at time t


1


(i.e. data groups


6




b


′,


6




c


′, and


6




d


′), but not the type data


6




e


′ and


6




f


′ valid at that time t


1


. After incorporation of the type data, the instance data which a user can now access comprise both the instance-specific data


7


and the type-specific data at time t


0


and time t


1


, i.e. data groups


6




b


′,


6




c


′,


6




d


′,


6




e


, and


6




f.






The present invention considerably reduces the quantity of data that must be saved, since only the data modifiable at an instance are stored. The type data are incorporated into the instance only prior to an access to the instance data. A data modification to a type can selectably affect the instance data.



Claims
  • 1. A programming device, comprising:a software tool processing objects; a first object in a form of a type having type-specific data groups; and a second object in a form of an instance, having instance-specific data groups and an attribute list, the first object being a model for the second object and the attribute list having attributes associated with said type-specific data groups in said first object, wherein the software tool incorporates selected groups of said type-specific data groups of the first object into the second object at a beginning of an access to the second object, said selected type-specific data groups being indicated by said attributes of said attribute list.
  • 2. The programming device according to claim 1, wherein the software tool deposits at least one of said type-specific data groups, excluding a first data group of the first object into the second object, so that at the beginning of the access to the second object, the software tool does not incorporate the at least one of said type-specific data groups of the first object into the second object.
Priority Claims (1)
Number Date Country Kind
298 07 670 U Apr 1998 DE
PCT Information
Filing Document Filing Date Country Kind
PCT/DE99/01253 WO 00
Publishing Document Publishing Date Country Kind
WO99/56203 11/4/1999 WO A
US Referenced Citations (10)
Number Name Date Kind
5261098 Katin et al. Nov 1993 A
5297291 Murphy Mar 1994 A
5418964 Conner et al. May 1995 A
5493680 Danforth Feb 1996 A
5692195 Conner et al. Nov 1997 A
5732271 Berry et al. Mar 1998 A
5822587 McDonald et al. Oct 1998 A
5978582 McDonald et al. Nov 1999 A
6263492 Fraley et al. Jul 2001 B1
6480856 McDonald et al. Nov 2002 B1
Foreign Referenced Citations (5)
Number Date Country
41 08 309 Sep 1992 DE
41 31 380 Mar 1993 DE
42 06 567 May 1993 DE
0 702 291 Mar 1996 EP
0 725 337 Aug 1996 EP
Non-Patent Literature Citations (2)
Entry
Microsoft Press. “Computer Dictionary, Second Edition”. 1994, p. 334, reference definition.*
Object-Oriented Programming In C—The Linneaus System, IBM Technical Disclosure Bulletin, vol. 32, No. 9B, Feb. 1990.