What is DREMS?¶
DREMS: A Software Infrastructure for Distributed Real-Time Managed Systems¶
Realizing the full potential of distributed embedded systems such as fractionated satellites necessitates a software application platform that supports secure and fault-tolerant sharing of resources: processors, storage, communication links, and devices.

The system must enable on-demand secure collaboration between applications operated by different organizations. Clearly, the economic viability of the system depends on the rapid assembly of reliable distributed application from reusable software components, including those sourced from various vendors.
DREMS is a runtime infrastructure and a related toolsuite that facilitates a model-based paradigm of software development for distributed, real-time, embedded systems where modeling tools and generators automate the tedious parts of software development and also provide a design-time framework for the analysis of software systems. The run-time software platform reduces the complexity and increases the reliability of software applications by providing reusable technological building blocks in the form of an operating system, middleware, and application management services.
The platform includes a novel operating system that supports mixed-criticality scheduling with three levels: (a) critical system tasks, (b) application tasks, and (c) best-effort tasks. Temporal partitioning among application tasks and a new, security-labeled communication mechanism called Secure Transport provide additional fault- and security isolation between untrusted applications. Operating system entry points are protected by data integrity checks that are automatically generated from formal specifications.

