Composable Execution Environments

John Regehr, Alastair Reid, Kirk Webb, and Jay Lepreau
{regehr, reid, kwebb, lepreau}

University of Utah, School of Computing
50 South Central Campus Drive, Room 3190
Salt Lake City, Utah 84112-9205


Many problems in developing and maintaining systems software stem from inappropriate choices of execution environments: sets of rules and conventions for structuring code. We have developed composable execution environments (CEE), a new way to compose systems software that is based on two main capabilities: the hierarchical composition of execution environments, and the late binding of design requirements to implementation constructs.

Our contributions include a number of techniques to support CEE: first, an environment description language in which compositions of environments are specified; second, the task / scheduler logic for checking safety properties of compositions, which exploits the low-level hierarchical scheduling relationships that are present in systems software; and third, integrated support for real-time schedulability analysis. Together, the CEE model and these techniques enable developers to create systems software out of multiple restricted, domain-specific execution environments and to more easily retarget code to new environments.

Flux Group Technical Note 2002-02, May 2002.

John Regehr <>
Last modified: Fri May 31 10:45:28 MDT 2002