1. A method of executing a context switch for first software code, comprising: providing software code including the first software code and a context declaration declaring a context and including one or more context attributes, the software code further including second software code to be executed within the context and at least one indication of a boundary of the second software code within the first software code; interpreting, by an execution engine at runtime, the context declaration and the at least one boundary indication; identifying, by the execution engine at runtime, the boundary of the second software code based on the at least one boundary indication included in the software code; controlling, by the execution engine at runtime, generation of the context specified by the context declaration, the generation of the context including determining a context abstraction based on the one or more context attributes specified in the context declaration; and initiating execution of the second software code within the generated context using values defined by the context abstraction.