Modern embedded systems are required to work in ever increasing dynamic environments, where predicting the computational load on those systems is intractable. However, timely responses to events have to be provided within precise timing constraints in order to guarantee a required level of performance. Consequently, embedded systems by their very nature exhibit real-time characteristics which impose an additional set of restrictions than those in a typical general purpose system. In addition to the limitations of having to perform to strict timing constraints, most embedded systems are constrained by size, weight, energy consumption and cost limitations. As a result, efficient resource management is a critical aspect in embedded systems that must be considered at multiple architectural levels.
The main objective of this work is to present our work on real-time systems that progress to make the next generation embedded systems more predictable and adaptive to dynamic computational changes. To achieve these goals, this phase of our research has focused on the resource synchronization and adaptive scheduling of real-time embedded applications in uni-processor and multi-core environments. The analysis and experiments show that our resource synchronization protocols outperformed other state-of-the art resource access control protocols used in hierarchical scheduled systems. Implemented in VxWorks and applied to applications used in the aerospace industry response times for hard real-time tasks were improved and deadline misses for hard real-time tasks were substantially reduced.