Patent
1994-03-22
1997-12-09
Kriess, Kevin A.
395133, 395346, 395353, 395682, 395701, G06T 1160, G06F 1300
Patent
active
056969147
DESCRIPTION:
BRIEF SUMMARY
CROSS REFERENCE TO RELATED APPLICATION
Cross reference is made to Rule 371 application, PCT/FR93/00749, filed Jul. 21, 1993.
FIELD OF THE INVENTION
This invention is related to interactlve user-interface description tools using an embedded interpreted language.
BACKGROUND OF THE INVENTION
Interactive software has very specific constraints. The most important limitation is that they can be changed very often. In fact, for ergonomic reasons, it is difficult to develop programs that are user-friendly and ready for marketing in a single try. The first version is almost always a failure and needs numerous revisions and modifications.
Moreover, it may be desirable or necessary to change the way an operation is activated by adapting it to a different context or to a different user.
Finally, a good program that uses a bad interface can expect to have mitigated commercial success.
SUMMARY OF THE INVENTION
The purpose of this invention is to define an extremely flexible interface development tool that can be used regardless of the application. For example, this interface has been developed for UNIX systems using X/WINDOW and X/MOTIF which are registered trademarks of M.I.T. and the Open Software Foundation respectively.
This goal is attained because the interactive interface description tool uses a LISP-type interpreted language and because the. interpreter (WOOL) is embedded with the application's interface description program and with the application produced.
Another feature of this invention is that both the data and the programs have a similar representation.
Another feature of this invention is that the description program contains a library "X/MOTIF" of interactive command objects "Widgets" and a library of graphical objects "GO".
Another feature of this invention is that the application program consists of a mixture of instructions. Some of these instructions are written in the C language. C is a high-level portable assembler that manipulates objects. The other instructions are written in an interpreted language.
Another feature of this invention is that the interpreter is object-oriented in the LISP language.
Another feature of this invention is that the interpreter uses arrays.
Another feature of this invention is that the interpreter kernel is organized as a two-dimensional matrix. The first dimension contains the lists, the strings and the numbers. The second dimension contains the selector with functions such as "eval, print, free, add, . . . ".
Another feature of this invention is that the WOOL interpreter includes a garbage collector (GC) that periodically scans the memory for unused objects whose space can be reused. This is accomplished without interrupting use of the interpreter.
Another feature of this invention is that the garbage collector (GC) is incremental.
Another feature of this invention is that the garbage collector uses reference counters and a mechanism that sorts the objects by size in order to limit memory fragmentation.
Another feature of this invention is that the functions of the interactive tool are described using an interpreted program.
Another feature of this invention is that storage of the interface format is edited and executed in the same manner as a WOOL program.
Another feature of this invention is that the interactive assembly geometry specification of these objects is translated into a file that is used by an application and can be stored on disk. This file will contain the user-interface format in the form of a WOOL language program.
Another feature of this invention is that the dynamic behavior of the interactive objects ("widgets") is defined by a set of callback procedures written in the "WOOL" language. These procedures designate the application functions called by the "X/MOTIF" toolkit when an entry flag is received.
Another feature of this invention is that the interface description program can be expanded by adding other "widget" classes. These classes can be added by describing the new attribute types of each class in the WOOL language so that the new
REFERENCES:
patent: 4811240 (1989-03-01), Ballou et al.
patent: 4912629 (1990-03-01), Shuler, Jr.
patent: 4989132 (1991-01-01), Mellender et al.
patent: 5243697 (1993-09-01), Hoeber et al.
Barthes; "A Command & Control System Based on a Muulti-media Object Oriented Data Base & A Logic Programming Language", IEEE, 1988.
Danieli, et al., "Parallell Object Oriented Programming in Sympal" IEEE; 1988.
Lingard; "Naval Intelligence Knowledge-Based Decision Support For Naval Command", IEEE, 1990.
Sebesta; "Concepts of Programming Languages" Benjamin Cummings, 1992.
Ng et al., "A Visual Concurrent LISP Environment & Its Application"; 1992.
Teitleman; "A Display-Orvated Programmer's Assistant", (ROM Interactive Programming Environments); McGraw-Hill; 1984.
Teitleman, et al.; "The Interlisp Programming Environment"; (Rom Interactive Programming Environments); McGraw-Hill; 1984.
Wilensky; Lispcraft; W. W. Norton & Co., 1984.
Winston et al.; Lisp; Addison-Wesley; 1984.
The Visual Computer, "Environment for Rapidly Creating Interactive Design Tools", B.A. Myers, et al, vol. 8, No. 2, Feb. 1992, pp. 94-116.
"A User Interface Construction Environment with Editors as Software Parts", H. Tarumi, et al, NEC Research and Development, No. 98, Jul. 1990, Tokyo, Japan, pp. 89-97.
"X Widget Based Software Tools for Unix", Doug Blewett, et al, Proceedings of the Winter 1992 Usenix Conference, Jan. 20, 1992, Berkeley, California, pp. 111-123.
"Table-Driven Method for Option Processing", Research Disclosure, No. 319, Nov. 1990, Emsworth, GB, p. 863, (31916).
Bouthors Vincent
Nahaboo Colas
Bull S.A.
Kriess Kevin A.
Richey Michael T.
LandOfFree
Using an embedded interpreted language to develop an interactive does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Using an embedded interpreted language to develop an interactive, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Using an embedded interpreted language to develop an interactive will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-1615366