Synthesizing Multithreaded Code from Real-Time Object-Oriented Models via Schedulability-Aware Thread Derivation
Issue No. 04 - April (2014 vol. 40)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2013.47
Saehwa Kim , Department of Information Communications Engineering, Hankuk University of Foreign Studies, Global Campus, San 89, Mohyun-myun, Cheoin-gu, Yongin-si, South Korea
One of the major difficulties in developing embedded systems with object-oriented modeling is to translate a designed model into code that satisfies required real-time performance. This paper proposes scenario-based implementation synthesis architecture with timing guarantee (SISAtime) that addresses these difficulties. The problems that SISAtime must solve are: how to synthesize multithreaded-code from a real-time object-oriented model; and how to design supporting development tools and runtime system architecture while ensuring that the scenarios in the system have minimal response times and the code satisfies the given timing constraints with a minimal number of threads. SISAtime provides a new scheduling algorithm which minimizes scenario response times. SISAtime also provides a new thread derivation method that derives tasks and maps tasks to threads while automatically assigning task scheduling attributes. We have fully implemented SISAtime by extending the RoseRT development tool that uses UML 2.0 as a modeling language, and we applied it to an existing industrial private branch exchange system. The performance evaluation results show that the response times, context switches, and the number of threads of the system with SISAtime were reduced by 21.6, 33.2, and 65.2 percent, respectively, compared to the system with the best known existing thread derivation method.
Unified modeling language, Object oriented modeling, Message systems, Timing, Time factors, Real-time systems, Ports (Computers)
S. Kim, "Synthesizing Multithreaded Code from Real-Time Object-Oriented Models via Schedulability-Aware Thread Derivation," in IEEE Transactions on Software Engineering, vol. 40, no. 4, pp. 413-426, 2014.