Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1996-08-01
2001-09-04
Hong, Stephen S. (Department: 2776)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000
Reexamination Certificate
active
06286017
ABSTRACT:
TECHNICAL FIELD
In general the present invention relates to an application building environment. More specifically, the present invention relates to an application building and managing environment in which users of computer systems, including ones with minimal programming knowledge, create and share powerful software applications.
BACKGROUND OF THE INVENTION
In a conventional application building environment such as in most third and fourth generation programming languages, the task of constructing an application requires intensive knowledge of specialized methods and structures. Existing application environments do not enable end-users with limited programming knowledge to combine program modules from other users and program developers into complicated applications. The sharing of program components is done on a level inaccessible by the end-user. Furthermore, existing systems do not combine programing at different skill and complication levels into a unified environment where complex programing and simple end-user programming follow the same approach. The components of an application are usually rigorously embedded into the program source code either in the form of text or as a combination of text and objects. This results in difficulties in sharing computer components. Module and data dictionaries and well organized program libraries provide a partial solution to this problem. However there are still very limited possibilities for end-users of computer systems to share or even build complicated applications involving rich modular programming structure without intensive knowledge of a complicated programming environment.
The introduction of multidimensional spreadsheets allows users of such systems to create more complicated calculation models through a smooth transaction from two-dimensional spreadsheets and is thus a step toward making applications manageable by the end-user. Current spreadsheet systems however do not focus the user's attention on the underlying logical modular structure ever-present in an application. Furthermore current spreadsheet systems do not generalize the spreadsheet concept in such a way that powerful programming techniques can be applied without leaving the methodology of the spreadsheet environment but instead employ add-on techniques such as the writing of macros to enhance usability.
There exist numerous source code generators and fourth generation programing environments using graphical structures as part of application generation. Source code generators however and most other application building environments, by definition, are intended for program development and provide an environment for developing applications which is entirely different from the end-user environment. Thus the end-user is separated from the application building environment and is unable to create or share application components without moving up to the application developing level.
U.S. Pat. No. 4,956,773, issued Sep. 11, 1990 to Saito et al., describes methods for creating programs using various diagrams. The Saito patent is directed to an apparatus for automatically creating a source program, in particular the coding of the source program is automatically performed from program specifications which the programmer generates, in order to reduce the burden required to create such a source program. As illustrated in
FIG. 11
of Saito, the source code is automatically generated from a module structure diagram.
U.S. Pat. No. 5,255,363, issued Oct. 19, 1993 to Seyler, describes methods for writing programs within a spreadsheet application. The Seyler patent is directed to a graphical programming system with a spreadsheet base for enabling users to create graphical programs for displaying and manipulating data. The Seyler invention allows a user to create graphical programs which can monitor parameters (such as cost and reliability) and provide feedback during the design of electronic systems, such as circuit boards.
U.S. Pat. No. 5,317,686, issued May 31, 1994 to Salas et al., describes relabeling of spreadsheet cells. The Salas et al patent is directed to an apparatus and labeling scheme which permits a user to reformat, redefine, and relabel the various cells of a multidimensional spreadsheet. The Salas et al patent also permits the creation of multidimensional spreadsheets where calculations are specified through general, rather than per cell, formulae.
SUMMARY OF THE INVENTION
An object of the present invention is to provide a graphical application developing and managing environment in which the building and sharing of application components is done largely by the end-user.
The above object is accomplished by combining a graphical logical modular structure diagram, methods for embedding source code for a class of programming languages into a visual spreadsheet-like format, and standardized interfaces into modules and external applications.
Central to the present invention is the definition of an indication value system which allows spreadsheet methodology to be applied to an advanced functional language. The indication value system is an extremely practical invention since it empowers the spreadsheet user to create general software applications without having to abandon the spreadsheet methodology. It thus addresses the well known challenge of end-user empowerment in the creation of software components.
Modular structure is present in any software application and can be visualized in many different ways depending on which program parts are grouped together to form a module and how they are interconnected. However the term logical modular structure used above represents a modular structure describing a solution to a specific task an application is intended to perform.
According to the present invention, application or module building can be done by drawing on a display unit a logical modular structure diagram describing how the new module is connected to other modules representing existing applications, previously written modules and unfinished modules. Using this diagram detailed description about the application is attached to the various parts of the diagram so as to represent the flow of information between the modules and the manipulation and visual representation of information. The new module is assigned an interface part. The interface part is a standardized interface, through which future applications communicate, and which can be used as an interface to external applications such as databases. The present invention thus enables the creation of standardized interfaces, visually represented, into modules including modules which overlay external applications.
The present invention provides methods for using as an equivalent alternative to the text format a spreadsheet-like format when writing and executing source code written in a functional programming language, methods for moving back and forth from the spreadsheet format and the traditional text format and methods for attaching source code to the parts of the above logical modular structure diagram.
There exist many different ways to define statements in a functional language, or any language for that matter, other than using traditional text definitions. The methods described herein also apply in cases when alternatives to the text format are used. This can be verified by noticing that one can translate alternative representations of code into the traditional text format. The patchwork mechanism, which will be described in details below, can be considered to be a graphical representation/definition of statements defining calls to child modules and is thus an example of an alternative to the text format for such statements. The patchwork mechanism employs the cell format, described herein also, to define parent-child module relationships in an end-user friendly way.
The term functional programming language or a functional language refers to a programming language in which each statement written in the language can be evaluated, based on its dependent variables, to a uniquely defined value of some type.
LandOfFree
Graphical environment for managing and developing applications does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Graphical environment for managing and developing applications, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Graphical environment for managing and developing applications will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2443278