Synthesizing Multithreaded Code from Real-Time Object-Oriented Models via Schedulability-Aware Thread Derivation

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.

[1]  Peter A. Buhr,et al.  Solution space for fixed-priority with preemption threshold , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[2]  Peter Fettke,et al.  Model Driven Architecture (MDA) , 2003, Wirtsch..

[3]  Kang G. Shin,et al.  Task construction for model-based design of embedded control software , 2006, IEEE Transactions on Software Engineering.

[4]  Edward A. Lee,et al.  Timed multitasking for real-time embedded software , 2003 .

[5]  Manas Saksena,et al.  Scalable real-time system design using preemption thresholds , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[6]  David C. Levy,et al.  An approach to schedulability analysis of UML-based real-time systems design , 2002, WOSP '02.

[7]  Juha Kuusela,et al.  Object-oriented technology for real-time systems: a practical approach using OMT and Fusion , 1996 .

[8]  Konstantinos Bletsas,et al.  Optimal priority assignment in the presence of blocking , 2006, Inf. Process. Lett..

[9]  Seongsoo Hong,et al.  Schedulability-aware mapping of real-time object-oriented models to multi-threaded implementations , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[10]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[11]  Manas Saksena,et al.  Schedulability analysis for automated implementations of real-time object-oriented models , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[12]  Manas Saksena,et al.  Automatic synthesis of multi-tasking implementations from real-time object-oriented models , 2000, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[13]  Dorina C. Petriu,et al.  Early evaluation of software performance based on the UML performance profile , 2003, CASCON.

[14]  Axel van Lamsweerde,et al.  Inferring Declarative Requirements Specifications from Operational Scenarios , 1998, IEEE Trans. Software Eng..

[15]  Alan Burns,et al.  An extendible approach for analyzing fixed priority hard real-time tasks , 1994, Real-Time Systems.

[16]  Hassan Gomaa Software design methods for concurrent and real-time systems , 1993, SEI series in software engineering.

[17]  Tony Field,et al.  Performance engineering with the UML profile for schedulability, performance and time: a case study , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..

[18]  Maarten Boasson,et al.  Control Systems Software , 1993, Fifth Euromicro Workshop on Real-Time Systems.

[19]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[20]  Tae-Hyung Kim,et al.  Perfecting preemption threshold scheduling for object-oriented real-time system design: from the perspective of real-time synchronization , 2002, LCTES/SCOPES '02.

[21]  Stephen S. Yau,et al.  Schedulability in model-based software development for distributed real-time systems , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[22]  Rocco Moretti,et al.  Model Driven Architecture (MDA) , 2007 .

[23]  Hossein Saiedian,et al.  Using UML-based rate monotonic analysis to predict schedulability , 2004, Computer.

[24]  Hudzaifa Septi Intani Penghitungan Biaya Pengembangan Aplikasi Presensi Pada PT Traspac Makmur Sejahtera Dengan Metode Function Point Menggunakan Diagram Unified Modeling Language (UML) 2.0 , 2014 .

[25]  Manas Saksena,et al.  Guidelines for automated implementation of executable object oriented models for real-time embedded control systems , 1997, Proceedings Real-Time Systems Symposium.

[26]  Paul Freedman,et al.  Temporal analysis and object-oriented real-time software development: a case study with ROOM/ObjecTime , 1996, Proceedings Real-Time Technology and Applications.

[27]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[28]  John P. Lehoczky,et al.  Fixed priority scheduling of periodic task sets with arbitrary deadlines , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[29]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[30]  Development Tools and Run-time System Architecture in SISAtime , 2011 .

[31]  Bruce P. Douglass,et al.  Doing hard time: developing real-time systems with uml , 1999 .

[32]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[33]  K. G. Shin,et al.  Synthesis of Real-Time Implementation from UML-RT Models , 2004 .

[34]  Manas Saksena,et al.  Scheduling fixed-priority tasks with preemption threshold , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[35]  Bruce Powel Douglass,et al.  Real Time UML: Advances in the UML for Real-Time Systems (3rd Edition) , 2004 .

[36]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[37]  John Regehr,et al.  Scheduling tasks with mixed preemption relations for robustness to timing faults , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[38]  Seongsoo Hong,et al.  Scenario-based multitasking for real-time object-oriented models , 2006, Inf. Softw. Technol..

[39]  Manas Saksena,et al.  Designing for schedulability: integrating schedulability analysis with object-oriented design , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.