In this paper we present a new real-time kernel architecture that is capable of supporting user-l... more In this paper we present a new real-time kernel architecture that is capable of supporting user-level threads. Although user-level threads o er an essential mechanism for structuring applications and representing concurrency, they are not widely exploited in real-time programming for the lack of capabilities for signal handling and thread scheduling. The kernel, we named ARX, provides a clean and e cient solution to this problem. First, it provides dynamic stack binding to prevent a blocked thread from preempting the entire process. Second, it o ers the scheduling event upcall facility to e ciently propagate kernel events to users so that the userlevel scheduler can timely handle events in an application-speci c way. In order to reduce the upcall overhead, the kernel also provides a novel, lock-free implementation of thread schedulers. Finally, the kernel o ers a reservation-based process scheduling mechanism for real-time processes. We have successfully implemented fulledged real-t...
ABSTRACT This paper presents a systematic approach to the design of distributed real-time systems... more ABSTRACT This paper presents a systematic approach to the design of distributed real-time systems with system-level timing requirements. It is often extremely difficult to design such a system in a composable fashion, since temporal relationships induced by system-level timing requirements introduce complicated couplings between structurally irrelevant components. As a solution to this problem, the approach described here maps system-level timing requirements onto component-level timing constraints. More specifically, it first transforms system-level requirements into a set of non-linear intermediate constraints; and then derives task attributes such as periods, phases, and deadlines, with the objective of maximizing the chances of the system being schedulable. The final results preserve the desired timing correctness: if the final task set is schedulable, then the original system-level requirements will be satisfied. The approach is demonstrated and experimentally validated via an example of a numerical control system built on the FIP network.
Proceedings of the Acm Sigplan 1999 Workshop, Apr 2, 1999
This paper formulates a problem of embedded real-time system re-engineering, and presents its sol... more This paper formulates a problem of embedded real-time system re-engineering, and presents its solution approach. The re-engineering of an embedded system is defined as a development task of meeting newly imposed performance requirements after its hardware and software have been fully implemented. The performance requirements may include a real-time throughput and an input-to-output latency. The proposed solution approach is based
Proceedings of the Joint Conference on Languages Compilers and Tools For Embedded Systems Software and Compilers For Embedded Systems, 2002
In spite of the proliferation of object-oriented design methodologies in contemporary software de... more In spite of the proliferation of object-oriented design methodologies in contemporary software development, their application to real-time embedded systems has been limited because of the practitioner's conservative attitude toward handling timing constraints. In fact, this conservative attitude is well-grounded because traditional priority-based scheduling techniques cannot be straightforwardly integrated into them. The automated implementation from the object-oriented real-time designs usually incurs a large number of tasks which, under traditional priority-based scheduling techniques, does not scale well due to excessive preemption overheads. Recently, preemption threshold scheduling was introduced to reduce run-time multi-tasking overhead while improving schedulability by exploiting non-preemptibility as much as possible. Unfortunately, the preemption threshold scheduling cannot be directly adopted into the object-oriented design methods due to the lack of real-time synchronization.In this paper, we present the essential basis of real-time synchronization for preemption threshold scheduling. Specifically, we integrate the priority inheritance protocol, the priority ceiling protocol, and the immediate inheritance protocol into preemption threshold scheduling. We also provide their schedulability analyses. Consequently, the integrated scheme, which minimizes worst-case context switches, is appropriate for the automated implementation of real-time object-oriented design models.
While the ever-increasing complexity of automotive software systems can be effectively managed th... more While the ever-increasing complexity of automotive software systems can be effectively managed through the adoption of a reliable real-time operating system (RTOS), it may incur additional resource usage to a resultant system. Due to the mass production nature of the automotive industry, reducing physical resources used by automotive software is of the utmost importance for cost reduction. OSEK OS is
ABSTRACT The work reported in this paper is supported in part by MOST (Ministry of Science and Te... more ABSTRACT The work reported in this paper is supported in part by MOST (Ministry of Science and Technology) and MOCIE (Ministry of Commerce, Industry and Energy) under the SystemIC 2010. Abstract – The paper presents our scenario modeling framework in scenario-based multithreading for object-oriented real-time modeling. Our modeling toolset allows scenario modeling by transforming a given UML 2.0 model to a scenario model. Our toolset provides for extended notion of scenarios that supports (1) concatenated scenarios, (2) mutually non-concurrent scenarios, (3) ports or structured classes with multiple cardinality, (4) message buffering, and (5) dynamic structures. Scenario models are intermediate models acting as bridges to gradually lead to the desired implementation. Consequently, our scenario modeling framework not only helps designers to more easily understand the model but also enable the identification of a feasible task set in a systematic way.
In this paper we present a new real-time kernel architecture that is capable of supporting user-l... more In this paper we present a new real-time kernel architecture that is capable of supporting user-level threads. Although user-level threads o er an essential mechanism for structuring applications and representing concurrency, they are not widely exploited in real-time programming for the lack of capabilities for signal handling and thread scheduling. The kernel, we named ARX, provides a clean and e cient solution to this problem. First, it provides dynamic stack binding to prevent a blocked thread from preempting the entire process. Second, it o ers the scheduling event upcall facility to e ciently propagate kernel events to users so that the userlevel scheduler can timely handle events in an application-speci c way. In order to reduce the upcall overhead, the kernel also provides a novel, lock-free implementation of thread schedulers. Finally, the kernel o ers a reservation-based process scheduling mechanism for real-time processes. We have successfully implemented fulledged real-t...
ABSTRACT This paper presents a systematic approach to the design of distributed real-time systems... more ABSTRACT This paper presents a systematic approach to the design of distributed real-time systems with system-level timing requirements. It is often extremely difficult to design such a system in a composable fashion, since temporal relationships induced by system-level timing requirements introduce complicated couplings between structurally irrelevant components. As a solution to this problem, the approach described here maps system-level timing requirements onto component-level timing constraints. More specifically, it first transforms system-level requirements into a set of non-linear intermediate constraints; and then derives task attributes such as periods, phases, and deadlines, with the objective of maximizing the chances of the system being schedulable. The final results preserve the desired timing correctness: if the final task set is schedulable, then the original system-level requirements will be satisfied. The approach is demonstrated and experimentally validated via an example of a numerical control system built on the FIP network.
Proceedings of the Acm Sigplan 1999 Workshop, Apr 2, 1999
This paper formulates a problem of embedded real-time system re-engineering, and presents its sol... more This paper formulates a problem of embedded real-time system re-engineering, and presents its solution approach. The re-engineering of an embedded system is defined as a development task of meeting newly imposed performance requirements after its hardware and software have been fully implemented. The performance requirements may include a real-time throughput and an input-to-output latency. The proposed solution approach is based
Proceedings of the Joint Conference on Languages Compilers and Tools For Embedded Systems Software and Compilers For Embedded Systems, 2002
In spite of the proliferation of object-oriented design methodologies in contemporary software de... more In spite of the proliferation of object-oriented design methodologies in contemporary software development, their application to real-time embedded systems has been limited because of the practitioner's conservative attitude toward handling timing constraints. In fact, this conservative attitude is well-grounded because traditional priority-based scheduling techniques cannot be straightforwardly integrated into them. The automated implementation from the object-oriented real-time designs usually incurs a large number of tasks which, under traditional priority-based scheduling techniques, does not scale well due to excessive preemption overheads. Recently, preemption threshold scheduling was introduced to reduce run-time multi-tasking overhead while improving schedulability by exploiting non-preemptibility as much as possible. Unfortunately, the preemption threshold scheduling cannot be directly adopted into the object-oriented design methods due to the lack of real-time synchronization.In this paper, we present the essential basis of real-time synchronization for preemption threshold scheduling. Specifically, we integrate the priority inheritance protocol, the priority ceiling protocol, and the immediate inheritance protocol into preemption threshold scheduling. We also provide their schedulability analyses. Consequently, the integrated scheme, which minimizes worst-case context switches, is appropriate for the automated implementation of real-time object-oriented design models.
While the ever-increasing complexity of automotive software systems can be effectively managed th... more While the ever-increasing complexity of automotive software systems can be effectively managed through the adoption of a reliable real-time operating system (RTOS), it may incur additional resource usage to a resultant system. Due to the mass production nature of the automotive industry, reducing physical resources used by automotive software is of the utmost importance for cost reduction. OSEK OS is
ABSTRACT The work reported in this paper is supported in part by MOST (Ministry of Science and Te... more ABSTRACT The work reported in this paper is supported in part by MOST (Ministry of Science and Technology) and MOCIE (Ministry of Commerce, Industry and Energy) under the SystemIC 2010. Abstract – The paper presents our scenario modeling framework in scenario-based multithreading for object-oriented real-time modeling. Our modeling toolset allows scenario modeling by transforming a given UML 2.0 model to a scenario model. Our toolset provides for extended notion of scenarios that supports (1) concatenated scenarios, (2) mutually non-concurrent scenarios, (3) ports or structured classes with multiple cardinality, (4) message buffering, and (5) dynamic structures. Scenario models are intermediate models acting as bridges to gradually lead to the desired implementation. Consequently, our scenario modeling framework not only helps designers to more easily understand the model but also enable the identification of a feasible task set in a systematic way.
Uploads