Abstract
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.
“... model-based techniques promise to tip the balance in favor of the system implementor ...”
—D. Hard, “Biting the Silver Bullet” [Hard 92]
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Notes
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].
a macro-node is equivalent to the more often used basic-block concept [Aho 77].
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].
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Thoen, F., Catthoor, F. (2000). System Synthesis Methodology. In: Thoen, F., Catthoor, F. (eds) Modeling, Verification and Exploration of Task-Level Concurrency in Real-Time Embedded Systems. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-4437-1_5
Download citation
DOI: https://doi.org/10.1007/978-1-4615-4437-1_5
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-6998-1
Online ISBN: 978-1-4615-4437-1
eBook Packages: Springer Book Archive