Claims
- 1. A method for implementing a software application on a computer system, the method comprising the steps of:embodying a description of the software application behavior in a tangible media as a set of application data, wherein the application data consist of pure data without explicit and implicit programming constructs; storing relationship data within at least some of the application data; providing an organic architecture component on the computer system comprising a plurality of code portions; reading the application data and executing selected code portions from the organic architecture component based on the application data and the relationship data contained therein; and connecting the executing code portions according to the relationship data so that the executing code portions exhibit the behavior of the application.
- 2. The method of claim 1 wherein the application data comprises a plurality of data apptoms each data apptom being a member of a class, wherein the relationship data is implied by the class membership.
- 3. The method of claim 1 wherein the code portions within the organic architecture are specific to a target computer platform.
- 4. The method of claim 1 wherein the reading of application data and execution of selected code portions occurs at application runtime.
- 5. The method of claim 1 wherein the application data is substantially free of programming constructs indicating sequence.
- 6. The method of claim 1 wherein the application data is substantially free of programming constructs indicating selection.
- 7. The method of claim 1 wherein the application data is substantially free of programming constructs indicating iteration.
- 8. The method of claim 1 wherein the application data is substantially free of programming constructs indicating external routine invocation.
- 9. The method of claim 1 wherein the step of executing occurs without generating program code.
- 10. A programming environment comprising:a description of a software application's behavior stored in a tangible media as a set of application data, wherein the application data consist of pure data without explicit and implicit programming constructs; relationship data stored within at least some of the application data; an organic architecture component on the computer system comprising a plurality of code portions; means for selecting code portions from the organic architecture based on the application data and the relationship data contained therein; means for executing the selected code portions connecting the executing code portions according to the relationship data so that the executing code portions exhibit the behavior of the application.
- 11. The program environment of claim 10 further comprising:a class structure comprising a plurality of data apptoms, wherein the class structure implies relationships between data apptoms.
- 12. The program environment of claim 11 wherein the application data is an instance of selected members data apptoms of the class structure.
- 13. A system for implementing a software application comprising:a class structure comprising a plurality of data apptoms, wherein the data apptoms consists of pure data without eplicit and implicit programming constructs; and wherein the class structure implies relationships between data apptoms; means for constructing a software application description by selecting data apptoms from the class structure; an organic architecture comprising a plurality of application-neutral program code components; and means for selecting specific program code components from the organic architecture at application runtime based upon the software application description; and means for executing the selected program code components on a computer system to implement the software application.
- 14. The system of claim 13 further comprising means for extending the data apptoms from the class structure to create a more specific instance of the data apptom described in the class structure.
RELATED APPLICATIONS
This application is a continuation of U.S. Ser. No. 09/023,036 filed Feb. 13, 1998 and now issued as U.S. Pat. No. 6,049,643.
The present invention relates to and claims priority from U.S. Provisional Application No. 60/038,387 entitled “SOFTWARE APPLICATIONS AS DATA” filed on Feb. 14, 1997, U.S. Provisional Application No. 60/037,941 entitled “CRUCIBLE QUERY SYSTEM” filed on Feb. 14, 1997, and U.S. Provisional Application No. 60/038,390 entitled “DEVICE INDEPENDENT WINDOW LAYOUT FOR GRAPHICAL DISPLAY OF INFORMATION” filed on Feb. 14, 1997.
The present invention relates to U.S. patent application Ser. No. 09/023,167 entitled “CRUCIBLE QUERY SYSTEM”, now issued as U.S. Pat. No. 6,006,224 and U.S. patent application Ser. No. 09/023,364 entitled “DEVICE INDEPENDENT WINDOW LAYOUT FOR GRAPHICAL DISPLAY OF INFORMATION”, all assigned to the assignee of the present invention, filed concurrently herewith, the teachings of which are incorporated herein by reference in their entirety.
US Referenced Citations (10)
Non-Patent Literature Citations (5)
Entry |
Title: LOTUS: Lotus enhances Domino web application development tools, SO M2 Presswire, (Oct. 9, 1997), PB: M2 Communications.* |
Title:Demystifying Java.(Technology Information) AUAddison, John; Williams, Robert SO:HP Professional, (Jun. 1999), PB Boucher Communications Inc.* |
Title: Walking a fine line to link objects Offers Object Bridge software to allow object oriented software to exchange messages, SO PC Week, (Sep. 30, 1996).* |
Title: PROXHY: A process-Oriented Extensible Hypertext Architecture, Kacmar et al, ACM, Oct., 1991.* |
Title: DistView: Support for Building Efficient Collaborative Applications using Replicated Objects, Prakash et al, ACM, 1994. |
Provisional Applications (3)
|
Number |
Date |
Country |
|
60/038387 |
Feb 1997 |
US |
|
60/037941 |
Feb 1997 |
US |
|
60/038390 |
Feb 1997 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09/023036 |
Feb 1998 |
US |
Child |
09/538847 |
|
US |