A computer implemented method comprising: inputting steps of at least two processes into the computer; storing process step input products and process step output products in a shared, non-transitory database as they are generated; establishing an input product filter for each process step with performance-triggering-criteria-defined property/value filters, where one step's output product passes the input product filter of another step; periodically searching the shared database for input products; determining whether each step in any of the processes has been executed, is in the process of being executed, or is awaiting execution; dynamically and automatically assembling or altering a set of steps composing any given process depending on the input products available in the shared database; and comparing the input/output products property values to target property values to automatically assess the status, effectiveness and efficiency of the individual steps and each process as a whole.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer implemented method comprising: inputting steps of at least two processes into the computer, wherein each step corresponds to a set of input products, a task to be completed, a set of output products, and a set of target output products, and wherein each input product, each output product, each target output product, and each task, comprises a set of property/value pairs that includes product type and product target values, where the properties have unique URL-based names and the property relationships are supported by an underlying ontology including a hierarchical taxonomy of product types, and where the target products specify a desired range for each corresponding property value; storing each input product and each output product in a shared, non-transitory database as they are generated, wherein each input product and each output product is stored with a unique uniform resource locator (URL); establishing an input product filter for each step, wherein the input product filter comprises performance-triggering criteria defined property/value filters, where one step's output product passes the input product filter of another step; periodically searching the shared database with URL queries for input products; determining with the computer whether each step in any of the processes has been executed, is in the process of being executed, or is awaiting execution; dynamically and automatically assembling or altering a set of steps composing any given process depending on the input products available in the shared database; and comparing with a performance status monitoring engine the input/output products property values to the target property values to automatically assess the status, effectiveness and efficiency of the individual steps and of each process as a whole. 2. The method of claim 1, wherein a given step is deemed executed if all of the given step's input products are found in the shared database and all the given step's output products have been generated and stored in the shared database, wherein the given step is awaiting execution if all of the given step's input products are found in the shared database but not all of the given step's output products have been generated, and wherein the given step is awaiting execution if all of the given step's input products are not found in the shared database. 3. The method of claim 2, where the URLs are defined according to Representational State Transfer (REST) design principles. 4. A method for providing situational awareness to a computer comprising: identifying a first process and a second process that have an aspect in common, wherein each of the first and second processes comprises a series of steps and an end goal; identifying an input product comprising performance-triggering criteria for each step in the first and second processes; generating a unique output product at the completion of each step in the first and second processes; storing the output products in a cloud-based, shared database, wherein each output product and each input product has a unique uniform resource locator (URL) according to a taxonomy; filtering with the computer the output products in the database for every un-executed step by performing URL queries for the input product of each un-executed step; determining that a given step may be executed based on the presence of the given step's input product in the database; and determining with the computer a situational assessment based on the interaction of the steps of the first and second processes and evaluating how interaction between the two processes will affect the attainment of the goals. 5. The method of claim 4 wherein, each product is represented as a set of property/value pairs where the properties have unique URL-based names and the property relationships are supported by an underlying ontology including a hierarchical taxonomy of product types. 6. The method of claim 4, wherein output products are defined in a progressive, generic, hierarchical, machine-understandable, and addressable format. 7. The method of claim 6, wherein the progressive, generic, hierarchical, machine-understandable, and addressable format is JavaScript Object Notation for Linked Data (JSON-LD). 8. The method of claim 7, wherein the output products include property values. 9. The method of claim 8, wherein the output products link to parent/child product types and linked data. 10. The method of claim 4, wherein the common aspect is an aspect or a combination of aspects selected from the group consisting of: a location, a time-range, a person, an organization, a field of study, a given topic, a user-entered property value, and a user-entered property value range. 11. The method of claim 4, wherein the situational assessment further includes an identification of remaining steps, identification of obstacles to executing the remaining steps, a time estimate for completion of the remaining steps, and a probability that the goals will be reached by a certain time. 12. The method of claim 4, further comprising the step of reporting the situational assessment to a user. 13. The method of claim 4, further comprising the step of eliminating a step from the first process based on the situational assessment. 14. The method of claim 4, wherein the first and second processes are tasks performed by the computer. 15. A method for providing situational awareness to a computer-controlled avatar in a simulated environment; identifying at least two processes related to the avatar, wherein each process comprises a series of steps and an end goal; identifying an input product comprising performance-triggering criteria for each step in the identified processes; generating a unique output product at the completion of each step in the identified processes; storing the output products in a cloud-based, shared database, wherein each output product and each input product has a unique uniform resource locator (URL) according to a taxonomy; filtering the output products in the database for every un-executed step by performing URL queries for the input product of each un-executed step; determining with the avatar that a given step may be executed based on the presence of the given step's input product in the database; and developing with the avatar a situational assessment based on the interaction of the steps of the identified processes and evaluating how interaction between the processes will affect the attainment of the respective goals. 16. The method of claim 15 further comprising the step of reporting the situational assessment to a human. 17. The method of claim 15, further comprising the step of having the avatar periodically updating the situational assessment as further information is available. 18. The method of claim 15, further comprising the step of having the avatar alter its behavior in view of the situational assessment.