ABSTRACT
Hard real-time systems have stringent timing and resource requirements. As such, debugging and tracing such systems often requires low-level hardware support, and online debugging is usually precluded entirely. In other areas, visual debugging has greatly improved program understanding and late cycle development times for non real-time applications. In this paper we introduce a visual test and debug framework for hard real-time Java applications built around the Jive platform and realized in the Fiji VM.
Our framework, called Ji.Fi, provides high-level debugging support over low-level execution traces. Ji.Fi provides both powerful visualizations and real-time centric temporal query support. To ensure preservation of the real-time characteristics of the application being tested and debugged, Ji.Fi leverages a real-time event log infrastructure that logs only relevant application and virtual machine level events, such as synchronization and modifications to priorities or thread state. Our performance results indicate that our logging infrastructure is suitable for hard real-time systems, as the performance impact is both uniform and quantifiable.
- BlueJ-- The interactive Java environment.Google Scholar
- JSR 302. Safety critical Java technology, 2007.Google Scholar
- Stefan Andrei, Albert M. K. Cheng, Wei-Ngan Chin, and Miahi Lupu. Systematic debugging of real-time systems based on incremental satisfiability counting. In Proceedings of the Real Time on Embedded Technology and Applications Symposium, RTAS '05, pages 519--528, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarDigital Library
- Java Platform Debugger Architecture. http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/.Google Scholar
- Gaurav Arora and David B. Stewart. A tool to assist in fine-tuning and debugging embedded real-time systems. In Proceedings of the Workshop on Languages, Compilers, and Tools for Embedded Systems, LCTES '98, pages 83--97, London, UK, UK, 1998. Springer-Verlag. Google ScholarDigital Library
- Unmesh D. Bordoloi and Samarjit Chakraborty. Performance debugging of real-time systems using multicriteria schedulability analysis. In Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium, RTAS '07, pages 193--202, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarDigital Library
- Jan Chomicki and David Toman. Temporal databases. In Michael David Fisher, Dov M. Gabbay, and Lluis Vila, editors, Handbook of Temporal Reasoning in Artificial Intelligence, pages 429--467. Elsevier B. V., March 2005.Google ScholarCross Ref
- James H. Cross, II and T. Dean Hendrix. jGRASP: An integrated development environment with visualizations for teaching Java in CS1, CS2, and beyond. J. Comput. Small Coll., 23(2):170--172, 2007. Google ScholarDigital Library
- Wim De Pauw, David Lorenz, John Vlissides, and Mark Wegman. Execution patterns in object-oriented visualization. pages 219--234, April 1998.Google Scholar
- GDB: The GNU Project Debugger. http://sources.redhat.com/gdb/.Google Scholar
- The Java Debugger. http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdb.html.Google Scholar
- Eclipse. Eclipse Test and Performance Tools Platform.Google Scholar
- Paul Gestwicki and Bharat Jayaraman. Methodology and architecture of JIVE. In Proceedings of the Symposium on Software visualization, SoftVis '05, pages 95--104, New York, NY, USA, 2005. ACM. Google ScholarDigital Library
- Paul V. Gestwicki and Bharat Jayaraman. Jive: java interactive visualization environment. In Conference on Object-oriented programming systems, languages, and applications, OOPSLA '04, pages 226--228, New York, NY, USA, 2004. ACM. Google ScholarDigital Library
- Simon F. Goldsmith, Robert O'Callahan, and Alex Aiken. Relational queries over program traces. In OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 385--402, New York, NY, USA, 2005. ACM. Google ScholarDigital Library
- J. B. Goodenough and L. Sha. The priority ceiling protocol: A method for minimizing the blocking of high priority Ada tasks. In IRTAW '88: Proceedings of the second international workshop on Real-time Ada issues, pages 20--31, New York, NY, USA, 1988. ACM. Google ScholarDigital Library
- James Gosling and Greg Bollella. The Real-Time Specification for Java. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2000. Google ScholarDigital Library
- Ashish Gupta and Inderpal Singh Mumick. Materialized views. In Ashish Gupta and Iderpal Singh Mumick, editors, Maintenance of Materialized Views: Problems, Techniques, and Applications, pages 145--157. MIT Press, Cambridge, MA, USA, 1999. Google ScholarDigital Library
- Wolfgang Haberl, Markus Herrmannsdoerfer, Jan Birke, and Uwe Baumgarten. Model-level debugging of embedded real-time systems. In Proceedings of the Conference on Computer and Information Technology, CIT '10, pages 1887--1894, Washington, DC, USA, 2010. IEEE Computer Society. Google ScholarDigital Library
- The Java Debug Interface. http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdi/.Google Scholar
- Dean F. Jerding, John T. Stasko, and Thomas Ball. Visualizing interactions in program executions. pages 360--370, May 1997. Google ScholarDigital Library
- Tomas Kalibera, Jeff Hagelberg, Filip Pizlo, Ales Plsek, Ben Titzer, and Jan Vitek. CDx: a family of real-time Java benchmarks. In Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES '09, pages 41--50, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- Tomas Kalibera, Pavel Parizek, Ghaith Haddad, Gary T. Leavens, and Jan Vitek. Challenge benchmarks for verification of real-time programs. In Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification, PLPV '10, pages 57--62, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- Andrew J. Ko and Brad A. Myers. Finding causes of program output with the Java Whyline. In CHI '09: Proceedings of the 27th international conference on Human factors in computing systems, pages 1569--1578, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- Danny B. Lange and Yuichi Nakamura. Object-oriented program tracing and visualization. Computer, 30(5):63--70, May 1997. Google ScholarDigital Library
- Raimondas Lencevicius, Urs Hölzle, and Ambuj K. Singh. Query-based debugging of object-oriented programs. In Proceedings of the Conference on Object-oriented programming, systems, languages, and applications, pages 304--317, New York, NY, USA, 1997. ACM. Google ScholarDigital Library
- Demian Lessa, Jan Chomicki, and Bharat Jayaraman. Temporal data model for program debugging. In International Symposium on Database Programming Languages, August 2011.Google Scholar
- C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM (JACM), 20:46--61, January 1973. Google ScholarDigital Library
- Filip Pizlo, Lukasz Ziarek, Ethan Blanton, Petr Maj, and Jan Vitek. High-level programming of embedded hard real-time devices. In Proceedings of the 5th European conference on Computer systems, EuroSys '10, pages 69--82, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- Filip Pizlo, Lukasz Ziarek, and Jan Vitek. Real time Java on resource-constrained platforms with Fiji VM. In Proceedings of the Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES '09, pages 110--119, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- Guillaume Pothier, Éric Tanter, and José Piquer. Scalable omniscient debugging. SIGPLAN Not., 42(10):535--552, 2007. Google ScholarDigital Library
- Laakso M.-J. Kaila E. Salakoski T. Rajala, T. VILLE-- A Language-Independent Program Visualization Tool. In Raymond Lister and Simon, editors, Proceedings of the Baltic Sea Conference on Computing Education Research, volume 88. Australian Computer Society, 2007. Google ScholarDigital Library
- L. Sha, R. Rajkumar, and J. P. Lehoczky. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput., 39(9):1175--1185, 1990. Google ScholarDigital Library
- Henrik Thane and Hans Hansson. Using deterministic replay for debugging of distributed real-time systems. In Proceedings of the 12th Euromicro conference on Real-time systems, Euromicro-RTS'00, pages 265--272, Washington, DC, USA, 2000. IEEE Computer Society. Google ScholarDigital Library
- Yui Watanabe, Takashi Ishio, Yoshiro Ito, and Katsuro Inoue. Visualizing an execution trace as a compact sequence diagram using dominance algorithms. Antwerp, Belgium, october 2008.Google Scholar
- Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David Whalley, Guillem Bernat, Christian Ferdinand, Reinhold Heckmann, Tulika Mitra, Frank Mueller, Isabelle Puaut, Peter Puschner, Jan Staschulat, and Per Stenström. The worst-case execution-time problem - overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst., 7(3):36:1--36:53, May 2008. Google ScholarDigital Library
Index Terms
- Ji.Fi: visual test and debug queries for hard real-time
Recommendations
JI.FI: Visual test and debug queries for hard real-time
Hard real-time systems have stringent timing and resource requirements. As such, debugging and tracing such systems often requires low-level hardware support, and online debugging is usually precluded entirely. In other areas, however, visual debugging ...
A Survey of WCET Analysis of Real-Time Operating Systems
ICESS '09: Proceedings of the 2009 International Conference on Embedded Software and SystemsTiming correctness of hard real-time systems is guaranteed by schedulability analysis and worst-case execution time (WCET) analysis of programs. Traditional WCET analysis mainly deals with application programs and has achieved success in industry. ...
THE RTSC: MIGRATING EVENT-TRIGGERED SYSTEMS TO TIME-TRIGGERED SYSTEMS
In this paper, we present a prototype of the Real-Time Systems Compiler (RTSC). The RTSC is a compiler-based tool that enables the migration from event-triggered to time-triggered real-time systems. This is achieved by replacing the real-time systems ...
Comments