Object based system for software maintenance
First Claim
1. An information processing system for managing message passing between objects, said system comprising:
- (a) storage means for storing objects and events, each of said objects having one or more object conditions, one or mope attributes, and one or more methods associated therewith, each of said methods having an identifier and specifying operations to be performed by said system, said attributes including a list of zero, one or more dependency objects on which the object depends, each of said events having one or more event conditions associated therewith;
(b) initialization means for starting said system, said initialization means determining an initial object and an initial event;
(c) dependency interpreter means for recursively identifying target objects on which said initial object and identified target objects depends based on said dependency objects, and for delivering said initial event to all of said identified target objects before delivering said event to said initial object; and
(d) delivery means for delivering said initial event to said target objects, said delivery means including;
(1) means for testing the object conditions associated with said target objects to determine whether the event conditions associated with said initial event are satisfied;
(2) means for testing the methods associated with said target objects, if said event conditions are satisfied, to determine whether a method for the event is associated for that object; and
(3) processing means for executing said method if said means for testing locates a method for said event.
0 Assignments
0 Petitions
Accused Products
Abstract
A computer implemented system and method for automatically generating an executable version is based on component objects and events. Object-oriented language concepts of encapsulation, inheritance, and message passing are employed to simplify the specification and execution steps. Software maintenance includes the steps of assembling executable systems from defined component parts such as source code files and object code files. An object definition is provided for each software component containing a specification of its dependency upon other objects and processing methods that must be executed to create that object. An event definition is created for each process that is to be applied to the component objects. The event definition includes a specification of any prerequisite events and conditions for delivery of the event message. An object dependency interpreter is provided to recursively control the passing of events to the objects for action. It ensures that any prerequisite events are first executed and that any objects upon which the current object is dependent are processed before the present object. Inheritance is employed to simplify object definition through the definition of generic objects which the object dependency interpreter instantiates for processing. Mapped memory is used to store an object data structure containing the representation of component objects and event objects. Additional storage is used to retain component object file system status.
140 Citations
21 Claims
-
1. An information processing system for managing message passing between objects, said system comprising:
-
(a) storage means for storing objects and events, each of said objects having one or more object conditions, one or mope attributes, and one or more methods associated therewith, each of said methods having an identifier and specifying operations to be performed by said system, said attributes including a list of zero, one or more dependency objects on which the object depends, each of said events having one or more event conditions associated therewith; (b) initialization means for starting said system, said initialization means determining an initial object and an initial event; (c) dependency interpreter means for recursively identifying target objects on which said initial object and identified target objects depends based on said dependency objects, and for delivering said initial event to all of said identified target objects before delivering said event to said initial object; and (d) delivery means for delivering said initial event to said target objects, said delivery means including; (1) means for testing the object conditions associated with said target objects to determine whether the event conditions associated with said initial event are satisfied; (2) means for testing the methods associated with said target objects, if said event conditions are satisfied, to determine whether a method for the event is associated for that object; and (3) processing means for executing said method if said means for testing locates a method for said event. - View Dependent Claims (2, 3, 4, 19)
-
-
5. A system for software maintenance, said system creating a current version of a software object from a plurality of software source files, said system comprising:
-
(a) event storage means for storing events required to maintain said software object, each of said events having an event identifier and one or more event conditions; (b) object storage means for storing object definitions defining objects, each of said objects having an object identifier, one or more attributes, one or more object conditions, and one or more methods describing operations to be performed by said system, said attributes including at least one dependency object on which the object depends, wherein said dependency objects represent a software object comprised of zero, one or more dependent objects, or is a reference to a source file; (c) operator interaction means for identifying an operator selected initial object and initial event; (d) dependency interpreter means for recursively identifying target objects on which said initial object and its dependency objects depend; and (e) delivery means for delivering said initial event to said target objects, said delivery means including; (1) means for testing said target object conditions against said event conditions; (2) means for testing said target object methods to determine whether said target object has an associated method matching said event, if said event conditions are satisfied; and (3) processing means for processing said associated method if an associated event is identified. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 20)
-
-
14. A computer implemented method for managing software system versions, where each software version is computer executable code generated from a plurality of computer stored source code modules and object code modules, the method comprising the steps of:
-
(a) initially, in response to user input; (1) specifying each source code object in the software system, wherein each source code object includes a list of source code objects on which the object depends and procedural methods describing the procedure for generating the source code object; (2) specifying a plurality of events to be applied to the source code objects, the events including event conditions that must be satisfied before the event is applied to the source code object; (3) providing an initial object and an initial event to be applied to the initial object; (b) for said initial event, automatically; (1) recursively testing for object dependencies in the initial object dependencies in the initial object and associated objects on which it depends; (2) testing the source code object description to determine whether a procedural method has been associated with the event, if the object conditions satisfies the event condition; (3) applying the associated method to the object to generate a new version of the object, if a method is associated with the event; and (4) repeating steps (b) (1)-(b) (3) for all objects on which the object depends and the initial object until all have been processed. - View Dependent Claims (15, 16, 17, 18, 21)
-
Specification