System Synthesis Methodology
- 101 Downloads
The design of concurrent real-time embedded systems, and embedded software in particular, is a difficult task, which is hard to perform manually due to the complex consumer-producer relations, the presence of various timing constraints and the tight interaction with the underlying hardware. We present here a new approach which supports the automated implementation of concurrent behavior on a single processor (multi-tasking) (and with some additional extensions also on multiple processors). More specifically, it tackles the problem of task scheduling under real-time constraints. The processor can be either an application-specific processor or an instruction-set (i.e. programmable) processor. The approach uses as much as possible pre-ordering of the concurrent behavior under real-time constraints to minimize the run-time overhead. Consequently, a minimal application-specific multi-tasking kernel is synthesized for the software portion1 to facilitate the coordination of the partially ordered tasks, featuring selectable process scheduling models dedicated to the needs of the application. This approach has the advantage that real-time constraints can be guaranteed and the synthesized kernel (for the software portion) will likely be significantly more simple than a generic (RT)OS solution. Section 1 below gives an overview of the system synthesis methodology and introduces the concepts used in the remainder of the text.
KeywordsInteger Linear Program Execution Model Schedulability Test Local Schedule Less Common mUltiple
Unable to display preview. Download preview PDF.
- 8.the ‘priority ceiling protocol’ raises the priority of a task to the ceiling value of the shared resource. This value is equal to the highest priority of all tasks accessing the resource. This avoids deadlock due to the strict priority ordering of shared resources which is inherently present because of the ‘priority inversion’ problem in shared resources [Sha 87][Rajkumar 90].Google Scholar
- 11.a macro-node is equivalent to the more often used basic-block concept [Aho 77].Google Scholar
- 17.a max-cut of a graph g(O, E) is a partition of the nodes O into two sets O1 and O2 such that there are a maximum number of edges between nodes in O1 and O2 [Papadimitriou 82].Google Scholar
- 36.a ‘critical instant’ for a task is defined to be an instant at which the request for that task will have the largest response time. [Liu 73] proved that for a strictly periodic and independent task set, this is the time when all tasks are released simultaneously.Google Scholar