Embedded real-time systems are deployed in a wide range of application
domains including transportation systems, automated manufacturing,
process control, defense, aerospace, and telecommunications. These
systems must satisfy not only logical functional requirements but also
para-functional properties such as timeliness, Quality of
Service (QoS) and reliability. The cross-cutting behaviors imposed by
these para-functional properties and dependencies on operational
characteristics (e.g. hardware, OS and middleware platforms used) have
traditionally led to hard-to-code, hard-to-understand and
hard-to-change software. The net result is that productivity
improvements in embedded software development have been miniscule
compared to improvements in computing and network technologies. Time Weaver provides a model-based framework that can lead to high degrees of
cost-effective reuse of embedded software components. Our framework
separates para-functional properties into semantic dimensions
(e.g. timing, event flow, concurrency, fault-tolerance, deployment)
that can be modified independent of one another. The impact of
changes in one dimension on the realization of other dimensions are
automatically projected and managed. Platform dependencies are also
captured separately, enabling a code-generation subsystem to re-use
the same components across a wide range of heterogeneous platforms and
applications. System components can be recursively composed or
decomposed. An analyzable software structure is enforced such that
the end-to-end timing behavior of the resulting system can be
verified.