This work investigates the influence of memory contention in embedded real-time multicore applications and memory management in embedded systems, and investigates run-time support for both multicore and nonmulticore systems in the context of embedded systems.
Application-Oriented System Design: The Application-Oriented System Design method guides domain decomposition towards families of scenario-independent system abstractions that can be reused to build a variety of run-time support systems. Environmental dependencies observed during domain decomposition are separately modeled as scenario aspects, which can be transparently applied to system abstractions with the aid of scenario adapters. The assembling of such software components to produce a functioning system is assisted by component frameworks, which capture elements of reusable software architecture identified in the course of domain engineering. Usability is improved by inflated interfaces, which export whole families of abstractions to users as if they were single macrocomponents, passing the responsability of selecting appropriate family members to the system. Operating System Support: We investigate run-time support for both multicore and nonmulticore systems in the context of embedded systems. We are particularly interested in the influence of memory contention in embedded real-time multicore applications and memory management in embedded systems. Due to unpredictability caused by the coherence through the memory hierarchy the task of bounding Worst-Case Execution Times (WCET) in these applications is not straightforward. The execution time of an application is affected by the contention for shared memory which can lead to deadline losses.