A computer-implemented method comprising: executing an application framework to provision a pipeline or workspace comprising applications, the provisioning comprising: determining or receiving an indication of the applications to be installed; determining or receiving contextual information of each of the applications, the contextual information comprising: one or more data objects, data types, or data formats supported by each of the applications; and one or more relationships among the applications; provisioning the indicated applications using the contextual information; receiving an indication of an update at a first application of the applications; propagating the update to a subset of the applications which, from the contextual information, are determined to be compatible with and support the data objects, data types and/or data formats consistent with the update and which have a downstream relationship to the first application; and using an amount of available computing resources on a computing device on which the applications run and using one or more changes to data objects, data types, or data formats of data fed into the applications to adjust running statuses of the applications, the running statuses comprising an operational state, a paused state that consumes less computing resources compared to the operational state, and an inactive state that consumes less computing resources compared to the paused state, the adjusting of the running statuses comprising determining a number of the applications to be in an operational state. executing an application framework to provision a pipeline or workspace comprising applications, the provisioning comprising: determining or receiving an indication of the applications to be installed; determining or receiving contextual information of each of the applications, the contextual information comprising: one or more data objects, data types, or data formats supported by each of the applications; and one or more relationships among the applications; determining or receiving an indication of the applications to be installed; determining or receiving contextual information of each of the applications, the contextual information comprising: one or more data objects, data types, or data formats supported by each of the applications; and one or more relationships among the applications; one or more data objects, data types, or data formats supported by each of the applications; and one or more relationships among the applications; provisioning the indicated applications using the contextual information; receiving an indication of an update at a first application of the applications; propagating the update to a subset of the applications which, from the contextual information, are determined to be compatible with and support the data objects, data types and/or data formats consistent with the update and which have a downstream relationship to the first application; and using an amount of available computing resources on a computing device on which the applications run and using one or more changes to data objects, data types, or data formats of data fed into the applications to adjust running statuses of the applications, the running statuses comprising an operational state, a paused state that consumes less computing resources compared to the operational state, and an inactive state that consumes less computing resources compared to the paused state, the adjusting of the running statuses comprising determining a number of the applications to be in an operational state.