Blackboard-centric layered software architecture
First Claim
1. A method of controlling an execution of a plurality of processes within a software architecture comprising a hierarchical multiplicity of layers of software objects, said execution of processes being controllable within each layer and among the multiplicity of layers, each process of the plurality including a scheduling request and performable tasks, said method comprising the steps of:
- receiving a registration request from each process executable within the software architecture, each said registration request identifying the process and process performable tasks thereof;
registering each process in response to the corresponding request thereof;
receiving scheduling requests from said executable processes;
scheduling the registered processes in accordance with said scheduling requests; and
coordinating task sequencing of the execution of processes within and among the multiplicity of layers of the software architecture based on said scheduling of registered processes.
0 Assignments
0 Petitions
Accused Products
Abstract
A computer software architecture for an embedded computer system. The architecture includes a hierarchy of software object classes. One classification includes a common information blackboard object. Data is written to the blackboard object by processes in a protected manner, and is otherwise globally readable by all processes. A run-time executive is provided to schedule and coordinate processes. Processes register with the run-time executive at start-up. One process can know the existence and generation of data by another process. The architecture is layered in increasing levels of system abstraction. In one embodiment, the embedded system is an airborne fuel gauging subsystem.
-
Citations
18 Claims
-
1. A method of controlling an execution of a plurality of processes within a software architecture comprising a hierarchical multiplicity of layers of software objects, said execution of processes being controllable within each layer and among the multiplicity of layers, each process of the plurality including a scheduling request and performable tasks, said method comprising the steps of:
-
receiving a registration request from each process executable within the software architecture, each said registration request identifying the process and process performable tasks thereof;
registering each process in response to the corresponding request thereof;
receiving scheduling requests from said executable processes;
scheduling the registered processes in accordance with said scheduling requests; and
coordinating task sequencing of the execution of processes within and among the multiplicity of layers of the software architecture based on said scheduling of registered processes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A Run-time executive interfaceable with a hierarchical multiplicity of layers of software objects for controlling an execution of a plurality of processes within each layer and among the multiplicity of layers, each process of the plurality including a scheduling request and performable tasks, said run-time executive comprising:
-
means for receiving a registration request from each executable process, each said registration request identifying the process and process performable tasks thereof;
means for registering each process in response to the corresponding request thereof;
means for receiving scheduling requests from said executable processes;
means for scheduling the registered processes in accordance with said scheduling requests; and
means for coordinating task sequencing of the execution of processes within and among the multiplicity of layers based on said scheduling of registered processes. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification