Architecture for composing computational modules uniformly across diverse developmental frameworks
First Claim
1. A flexible computing system for developing application-specific computer systems, said flexible computing system comprising:
- module production means for generating functioning modules by interpreting preselected descriptions of the functional characteristics of modules to be included in a desired application-specific computing system, andmodule assembly means for generating said application-specific system by combining message passing means for intermodule communication along with the functioning modules generated by said module production means.
5 Assignments
0 Petitions
Accused Products
Abstract
A Multi-Level Architecture for developing intelligent computer systems composes computational modules uniformly across diverse developmental framework. The modules interact via message passing and are assembled to form application-specific systems. A first level of the Multi-Level Architecture includes a cooperative operating system which provides support for message passing and resource allocation and is preferably based on a module-oriented programming (MOP) model. The first level, for example, defines a virtual machine which is mapped onto an underlying hardware and operating system environment. A second level of the Multi-Level Architecture supports a plurality of application-independent problem-solving frameworks (PSF'"'"'s) or programming environments for building modules and combining modules of different frameworks into complex systems. A third level of Multi-Level Architecture includes a plurality of knowledge processing modules ranging from specialized modules to skeletal systems which provide nearly complete solutions to application problems. For building an application-specific system, domain-specific knowledge is added on top of the third level and typically a selected skeletal system is customized. Extension or refinement of the application-specific system is accomplished by replacing existing modules with more complex modules or by using additional modules. The Multi-Level Architecture is particularly useful for building a plan monitoring and replanning system which monitors whether an initially valid design remains valid prior to its implementation, incrementally modifies the design to insure validity despite changing conditions, applies control knowledge to control sequencing among the monitoring and replanning functions, and also applies knowledge to explain the nature of design failures.
193 Citations
84 Claims
-
1. A flexible computing system for developing application-specific computer systems, said flexible computing system comprising:
-
module production means for generating functioning modules by interpreting preselected descriptions of the functional characteristics of modules to be included in a desired application-specific computing system, and module assembly means for generating said application-specific system by combining message passing means for intermodule communication along with the functioning modules generated by said module production means. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
- 18. A computing system for producing a collection of executable modules which are capable of communicating with each other during execution according to a standard message-passing protocol, said computing system comprising a set of preexisting modules composed in a multiplicity of frameworks, and module production means for composing additional executable modules which are capable of communicating with each other and with said preexisting modules during execution according to said standard message-passing protocol, wherein said module production means composes said additional modules by combining selected ones of said preexisting modules, said selected ones of said preexisting modules including selected modules developed in different frameworks.
-
33. A computing system for the development of an application-specific system comprising a collection of executable modules which are capable of communicating with each other during execution according to a standard message passing protocol, said computer system comprising:
-
means for composing modules using selected ones of a set of frameworks in which the modules are composable, said set of frameworks including a plurality of different frameworks, and means for combining said modules, including modules composed in different ones of said frameworks, to form said collection of executable modules, wherein said means for composing modules includes means for composing a desired module in a selected one of said frameworks by including in the desired module a specified pre-existing module developed by said means for composing in any of said frameworks, so that said modules are uniformly composable. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. A computing system for the development of an application-specific system comprising a collection of executable modules which are capable of communicating with each other during execution, said computer system comprising:
-
means for composing modules by combining specified module components in accordance with a predetermined framework, said framework providing an original connection topology for said module components, and means for combining said modules to form said collection of executable modules, wherein said means for composing modules includes means for modifying said connection topology to provide a new framework for composing modules. - View Dependent Claims (51, 52, 53)
-
-
54. A computing system for the development of an application-specific system comprising a collection of executable modules which are capable of communicating with each other during execution, said computer system comprising:
-
means for composing modules by combining specified module components with a module controller in accordance with an original predetermined framework, said module controller including means for controlling access of the module components to an intramodule communication network and means for controlling the execution of stored programs corresponding to the module components, and means for combining said modules to form said collection of executable modules, wherein said means for composing modules includes means for modifying said module controller to provide a new framework for composing modules. - View Dependent Claims (55, 56, 57)
-
-
58. A computing system for the development of an application-specific system comprising a collection of executable modules which are capable of communication with each other during execution, said computer system comprising:
-
means for composing modules by combining specified module components in accordance with specified ones of a multiplicity of frameworks, and means for combining said modules, including modules composed according to different ones of said frameworks, to form said collection of executable modules, wherein said means for composing includes means for combining, as module components, modules composed by said means for composing according to different frameworks, and said frameworks use different connection topologies for connecting module components; and further comprising means for specifying the frameworks used for implementing the connection topologies for connecting the modules and module components.
-
-
59. A computing system for developing intelligent computer systems including collections of executable modules which interact via message passing, said computing system comprising, in combination:
-
a plurality of pre-programmed knowledge processing modules, a plurality of application-independent problem-solving frameworks for building additional modules and combining modules of different frameworks, and a cooperating operating system for supporting message passing and resource allocation among said knowledge processing modules and said additional modules. - View Dependent Claims (60)
-
-
61. A computing system for monitoring a design, said computer system including a data base storing said design together with a model of the natural world, said design specifying an implementation in the natural world to achieve desired effects under assumed conditions,
means for updating said model of the natural world to reflect changed conditions at a plurality of points in time prior to implementation of said design in the natural world, and means for monitoring said data base to test whether said design is capable of being implemented to achieve said desired effects under said changed conditions at said plurality of points in time.
-
73. A computer system for maintaining a design despite changing conditions so that said design is capable of being readily implemented in the natural world to achieve certain desired effects, said computer system including
a data base storing said design together with a model of the natural world, means for updating said model of the natural world to reflect said changing conditions at a plurality of points in time before said design is implemented, and means for incrementally modifying said design a plurality of times prior to implementation to reflect said changing conditions at said plurality of points in time so that said design is modified to be readily capable of being implemented to achieve said desired effects.
- 77. A computing system including modular software for monitoring and successively modifying a design to reflect changing conditions so that said design is capable of being readily implemented in the natural world to obtain certain desired effects despite changing conditions, said computing system also including a data base storing said design together with a model of the natural world, said modular software including modules for monitoring said data base to test whether said design is capable of being implemented to achieve said desired effects under said changing conditions, and for modifying said design when said design is found to be incapable of being implemented to achieve said desired conditions.
- 82. A computing system including a modular software architecture for monitoring and successively modifying a design to reflect changing conditions so that said design is capable of being readily implemented in the natural world to obtain certain desired effects despite changing conditions, said computing system including a data base storing said design together with a model of the natural world, said modular software including modules for monitoring said data base and for modifying said design to reflect changing conditions, wherein said modular architecture includes control knowledge which is interpreted and applied for flexible control of the sequence of execution of the software modules.
Specification