CPC G06F 9/45516 (2013.01) [G06F 8/41 (2013.01); G06F 9/4493 (2018.02); G06F 2212/60 (2013.01)] | 25 Claims |
1. A system for executing software, comprising:
a computing device comprising at least one processor and non-transitory memory storing first software instructions for a code execution module such that, when the first software instructions are executed by the at least one processor, the at least one processor will:
establish a platform-independent architecture for managing a simulated change apparatus that maintains logical immutability of software nodes described in a programming language syntax;
receive, for execution by the code execution module, second software instructions;
create one or more immutable software nodes declared by the second software instructions;
determine that the second software instructions comprise an instruction to begin a simulated change at runtime of the one or more immutable software nodes;
store the simulated change in the simulated change apparatus;
create a cache to store results of one or more operations of the second software instructions, wherein the cache is a cross-scenario cache used by distinct scenarios that each have a different set of simulated changes, but wherein at least one entry in the cache is shared by at least two of the distinct scenarios;
using the simulated change apparatus, perform the one or more operations of the second software instructions as if the one or more immutable software nodes had been changed in the non-transitory memory, during a period of time where each of the one or more immutable software nodes is guaranteed to retain logical immutability; and
output results of the one or more operations.
|