Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1998-06-02
2001-07-31
Chaki, Kakali (Department: 2121)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S152000
Reexamination Certificate
active
06269475
ABSTRACT:
TECHNICAL FIELD
Object oriented program development environments using a graphical user interface to assist in program development.
BACKGROUND ART
Application programs, such as the visual development tools produced by Microsoft Corporation, Visual C++, Visual Basic, and Visual J++ provide a graphical user interface to assist in the development of programs in various object oriented programming languages. Other vendors such as Symantec corporation provide applications for similar development assistance. These programming solutions allow for editing and adding source code in a text editor along with creating a graphic representation of the source code. The text editor in these development tools is independent of the graphic representation. The development tool does not immediately reflect the changes in the graphic representation when new code is added, an intermediary step must occur, such as, compilation of the code, or reparsing of the entire source code to rebuild the graphic representation.
Additionally, in these development tools, source code may be generated by the development tool, providing structural code, which must be added to by a user to furnish usable code. The development tool kits create user interface code and skeletal code to which a user must add, so that the interface code, once compiled, may perform some function desired by the user. For example, in Visual C++ a user may wish to create a dialog box with a button to start a user created program and a button to stop the program. The user can choose to create a dialog box with a button representing start and a button representing stop which the development tool will generate. However, Visual C++ will not assist in generating code for the user created program. A user must develop the functions and classes for implementing this software without assistance from the development tool.
For additional information on graphical representation of code and code generators please see,
Adaptive Object
-
Oriented Software The Demeter Method with propagation patterns
by Karl J. Lieberherr, PWS Publishing Company 1996. ISBN 0-534-94602-X, Object Oriented Modeling and Design by James Rumbaugh et al., Prentice Hall 1991. ISBN 0-13-629841-9
, Taming C++ Pattern Classes and Persistence for Large Projects
by Jiri Soukup, Addison Wesley PublishingCompany 1994. ISBN 0-201-52826-6
, The GenVoca Model of Software
-
System Generators
, by Don Batory, Vivek Singhal, Jeff Thomas, Sankar Dasari, Bart Geraci, and Marty Sirkin, IEEE Software, September 1994, A Software
System Generator for DataStructures
, Ph.D. Dissertation by Martin J. Sirkin Department of Computer Science and Engineering, University of Washington, March 1994
, Scalable Software Libraries
, Don Batory, Vivek Singhal, Jeff Thomas, and Marty Sirkin, Proceedings of the ACM SIGSOFT '93 Conference (Los Angeles), December 1993. All of which are incorporporated herein by reference in their entirety.
SUMMARY OF THE INVENTION
The invention provides in a preferred embodiment, an object oriented program editor operative on a text source in a language having syntax properties. The editor includes a lexical analyzer for identifying language tokens in the text source, a parser coupled to the lexical analyzer for associating syntax properties with the tokens, a codeblock generator coupled to the parser, for grouping tokens into a tree of codeblocks, and a graphical user interface for receiving and implementing user modifications of the codeblocks in a manner consistent with the programming language.
In a further and related embodiment, the graphical user interface includes a display of an object model for the text source and causes the object model to be updated when a user modification is implemented. In another embodiment, the graphical user interface enables user modification of the object model and causes the text source to be correspondingly updated in a manner consistent with the object model and the programming language. In yet a further embodiment, the graphical user interface provides an arrangement for graphical selection of a codeblock and a menu showing syntactically correct options that are available for manipulation of the selected codeblock. In a further related embodiment, the graphical user interface provides a menu showing all syntactically correct options that are available for manipulation of the selected codeblock. In accordance with another embodiment of the invention, the codeblock is a variable. In accordance with yet another embodiment the codeblock is a method.
System embodiments for generating source code in a program language with respect to an object model having a plurality of classes and relations among such classes are also provided. In accordance with one embodiment, a system includes a class selection interface, an action selection interface, and a source code generator. The class selection interface is used for user selection of a chosen class. The action selection interface provides for user selection of an entity associated with the model and an action to be performed on the entity. The entity is either a class or an instance of a class. The action is selected from a set of possible actions and it is determined by the entity that is selected. The source code generator is used for generating source code in the program language and the generated source code causes the action to be performed on the entity. The source code generator also associates such code with the chosen class. In a further embodiment, the entity is a class. In yet another embodiment, the entity is an instance of a class, and the instance is an object.
In another embodiment, a parameter selection interface is added to the system for user selection of input parameters, wherein the action selection interface provides a list of input parameters from which the entity may be selected. In another embodiment the entity is an instance of a class generated in a previous operation of the action selection interface. In yet a further embodiment, the action selection interface and the source code generator are configured to permit selection of a plurality of actions and a plurality of entities. In another embodiment, a graphical user interface is added to the system that enables user selection of the chosen class and the action. In another embodiment, the source code is generated in such a way as to take into account restrictions inherent in the object model. In further related embodiments, the action selection interface includes an action properties interface for specifying properties of the action selected, wherein choices presented by the properties interface are customized according to the action selected.
A further group of related embodiments is described below. In an embodiment, the action selection interface further permits user selection of a condition for performance of a set of actions selected by the action selection interface, the set including at least one action. In another embodiment the action selection interface includes an action properties interface for specifying properties of the action selected, wherein choices presented by the properties interface are customized according to the action selected. In a further embodiment, the object has a creation point in the source code generated by the source code generator and it is declared. The object also has an action point in the source code generated by the source code generator wherein the object is acted upon by the action to be performed on it. An object transporter is added to the system for creating method parameters in the source code sufficient to pass the object from the creation point to the action point. In yet another embodiment, the object transporter identifies all usage points in the source code generated by the source code generator wherein the object is used and creates method parameters in the source code sufficient to pass the object to all such usage points.
Another group of further related embodiments of the system for displaying an object model that is
Farrell Edward J.
Sangal Neeraj
Bromberg & Sunstein LLP
Chaki Kakali
Das Chameli Chaudhuri
Webgain, Inc.
LandOfFree
Interface for object oriented programming language does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Interface for object oriented programming language, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Interface for object oriented programming language will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2460576