skip to main content
research-article
Open Access

Efficient Tracing Methodology Using Automata Processor

Authors Info & Claims
Published:08 October 2019Publication History
Skip Abstract Section

Abstract

Tracing or trace interface has been used in various ways to find system defects or bugs. As embedded systems are increasingly used in safety-critical applications, tracing can provide useful information during system execution at runtime. Non-intrusive tracing that does not affect system performance has become especially important, but unfortunately, the biggest obstacle to this approach was the vast amount of real-time trace data, making it challenging to address complex requirements with relatively limited hardware implementations. Automata processors can be programmed with a memory-like structure of automata and have a structure specific to streaming data, large capacity, and parallel processing functions. This paper promotes the idea of high-level system-on-chip monitoring using automata processors. We used a safety-critical pacemaker application in the experiments, described timed automata (TA)-based requirements, and tested intentionally injected 4,000 random failures. The TA model converted for Automata Processor to monitor system, correctness, and safety properties achieved 100% failure detection rate in the experiment, and the detected failure is reported as fast enough to allow enough extent for failure recovery.

References

  1. [n.d.]. RTEMS Real Time Operating System (RTOS) | Real-Time and Real Free RTOS. https://www.rtems.org/.Google ScholarGoogle Scholar
  2. 2018. LEON/GRLIB guide GRLIB VHDL IP core library 2018 configuration and development guide configuration and development guide. (2018). www.cobham.com/gaisler.Google ScholarGoogle Scholar
  3. Wolfgang Ahrendt, Jesús Mauricio Chimento, Gordon J. Pace, and Gerardo Schneider. 2017. Verifying data-and control-oriented properties combining static and runtime verification: Theory and tools. Formal Methods in System Design 51, 1 (2017), 200--265.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Rajeev Alur. 1999. Timed automata. In International Conference on Computer Aided Verification. Springer, 8--22.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Serge Barold, Roland X. Stroobandt, and Alfons F Sinnaeve. 2008. Cardiac Pacemakers Step by Step: An Illustrated Guide. John Wiley 8 Sons.Google ScholarGoogle Scholar
  6. Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K. Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R. Hower, Tushar Krishna, Somayeh Sardashti, et al. 2011. The gem5 simulator. ACM SIGARCH Computer Architecture News 39, 2 (2011), 1--7.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chunkun Bo, Ke Wang, Yanjun Qi, and Kevin Skadron. 2015. String kernel testing acceleration using the micron automata processor. In Workshop on Computer Architecture for Machine Learning.Google ScholarGoogle Scholar
  8. Eric Bodden, Patrick Lam, and Laurie Hendren. 2010. Clara: A framework for partially evaluating finite-state runtime monitors ahead of time. In International Conference on Runtime Verification. Springer, 183--197.Google ScholarGoogle ScholarCross RefCross Ref
  9. Borzoo Bonakdarpour, Samaneh Navabpour, and Sebastian Fischmeister. 2011. Sampling-based runtime verification. In International Symposium on Formal Methods. Springer, 88--102.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Altera Corporation. 2008. with the SignalTap II Embedded Logic Analyzer. 24 pages.Google ScholarGoogle Scholar
  11. Paul Dlugosch, Dave Brown, Paul Glendenning, Michael Leventhal, and Harold Noyes. 2014. An efficient and scalable semiconductor architecture for parallel automata processing. IEEE Transactions on Parallel and Distributed Systems 25, 12 (2014), 3088--3098.Google ScholarGoogle ScholarCross RefCross Ref
  12. Mohammed El Shobaki and Lennart Lindh. 2001. A hardware and software monitor for high-level system-on-chip verification. In Proceedings of the IEEE 2001. 2nd International Symposium on Quality Electronic Design. IEEE, 56--61.Google ScholarGoogle ScholarCross RefCross Ref
  13. Tom Feist. 2012. Vivado design suite. White Paper 5 (2012), 30.Google ScholarGoogle Scholar
  14. Richard Fryer. 2005. FPGA based CPU instrumentation for hard real-time embedded system testing. ACM SIGBED Review 2, 2 (2005), 39--42.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Brent Hailpern and Padmanabhan Santhanam. 2002. Software debugging, testing, and verification. IBM Systems Journal 41, 1 (2002), 4--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Micron Inc. [n.d.]. Designing for the Micron D480 Automata Processor. http://www.micronautomata.com/documentation/anml_documentation/c_D480_design_notes.html.Google ScholarGoogle Scholar
  17. Zhihao Jiang, Miroslav Pajic, Allison Connolly, Sanjay Dixit, and Rahul Mangharam. 2010. Real-time heart model for implantable cardiac device validation and verification. In 2010 22nd Euromicro Conference on Real-Time Systems. IEEE, 239--248.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Zhihao Jiang, Miroslav Pajic, and Rahul Mangharam. 2011. Cyber--physical modeling of implantable cardiac medical devices. Proc. IEEE 100, 1 (2011), 122--137.Google ScholarGoogle ScholarCross RefCross Ref
  19. Mike Jones. 1997. What really happened on mars rover pathfinder. The Risks Digest 19, 49 (1997), 1--2.Google ScholarGoogle Scholar
  20. Damjan Lampret and Julius Baxter. [n.d.]. OpenRISC 1200 IP Core Specification (Preliminary Draft), 2014.Google ScholarGoogle Scholar
  21. Jong Chul Lee and Roman Lysecky. 2015. System-level observation framework for non-intrusive runtime monitoring of embedded systems. ACM Transactions on Design Automation of Electronic Systems (TODAES) 20, 3 (2015), 42.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Nancy G Leveson and Clark S Turner. 1993. An investigation of the Therac-25 accidents. Computer 26, 7 (1993), 18--41.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Giovanni Liva, Muhammad Taimoor Khan, and Martin Pinzger. 2017. Extracting timed automata from Java methods. In 2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 91--100.Google ScholarGoogle ScholarCross RefCross Ref
  24. Hong Lu and Alessandro Forin. 2007. The design and implementation of P2V, an architecture for zero-overhead online verification of software programs. (2007).Google ScholarGoogle Scholar
  25. R Mijat. 2010. Better trace for better software: Introducing the new arm coresight system trace macrocell and trace memory controller. ARM, White Paper (2010).Google ScholarGoogle Scholar
  26. Samaneh Navabpour, Borzoo Bonakdarpour, and Sebastian Fischmeister. 2015. Time-triggered runtime verification of component-based multi-core systems. In Runtime Verification. Springer, 153--168.Google ScholarGoogle Scholar
  27. Hyunyoung Oh, Hayoon Yi, Hyeokjun Choe, Yeongpil Cho, Sungroh Yoon, and Yunheung Paek. 2019. Real-time anomalous branch behavior inference with a GPU-inspired engine for machine learning models. In 2019 Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE). IEEE, 908--913.Google ScholarGoogle Scholar
  28. Rodolfo Pellizzoni, Patrick Meredith, Marco Caccamo, and Grigore Rosu. 2008. Hardware runtime monitoring for dependable cots-based real-time embedded systems. In 2008 Real-Time Systems Symposium. IEEE, 481--491.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Kevin Peterson and Yvon Savaria. 2004. Assertion-based on-line verification and debug environment for complex hardware systems. In 2004 IEEE International Symposium on Circuits and Systems (IEEE Cat. No. 04CH37512), Vol. 2. IEEE, II--685.Google ScholarGoogle ScholarCross RefCross Ref
  30. Amir Pnueli. 1977. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science (sfcs 1977). IEEE, 46--57. DOI:https://doi.org/10.1109/SFCS.1977.32Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Indranil Roy and Srinivas Aluru. 2014. Finding motifs in biological sequences using the micron automata processor. In 2014 IEEE 28th International Parallel and Distributed Processing Symposium. IEEE, 415--424.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Indranil Roy, Ankit Srivastava, Marziyeh Nourian, Michela Becchi, and Srinivas Aluru. 2016. High performance pattern matching using the automata processor. In 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, 1123--1132.Google ScholarGoogle ScholarCross RefCross Ref
  33. Minjun Seo and Roman Lysecky. 2018. Non-intrusive in-situ requirements monitoring of embedded system. ACM Transactions on Design Automation of Electronic Systems (TODAES) 23, 5 (2018), 58.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Tommy Tracy, Yao Fu, Indranil Roy, Eric Jonas, and Paul Glendenning. 2016. Towards machine learning on the automata processor. In International Conference on High Performance Computing. Springer, 200--218.Google ScholarGoogle ScholarCross RefCross Ref
  35. Tullis and Michael L. 2015. Intel ® Trace Hub Developer’s Manual. Technical Report. http://www.intel.com/products/processor.Google ScholarGoogle Scholar
  36. Jack Wadden and Kevin Skadron. 2016. VASim: An open virtual automata simulator for automata processing application and architecture research. University of Virginia, Tech. Rep. CS2016-03 (2016).Google ScholarGoogle Scholar
  37. Philipp Wagner, Thomas Wild, and Andreas Herkersdorf. 2016. DiaSys: On-chip trace analysis for multi-processor system-on-chip. Springer, Cham, 197--209. DOI:https://doi.org/10.1007/978-3-319-30695-7_15Google ScholarGoogle Scholar
  38. Ke Wang, Yanjun Qi, Jeffrey J. Fox, Mircea R. Stan, and Kevin Skadron. 2015. Association rule mining with the micron automata processor. In 2015 IEEE International Parallel and Distributed Processing Symposium. IEEE, 689--699.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Kosuke Watanabe, Eunsuk Kang, Chung-Wei Lin, and Shinichi Shiraishi. 2018. INVITED: Runtime monitoring for safety of intelligent vehicles. In 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC). IEEE, 1--6. DOI:https://doi.org/10.1109/DAC.2018.8465912Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Xilinx. 2012. ChipScope Pro Software and Cores. , 5--226 pages. https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/chipscope_pro_sw_cores_ug029.pdf.Google ScholarGoogle Scholar
  41. Xilinx. 2017. MicroBlaze processor reference guide. (2017). https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_1/ug984-vivado-microblaze-ref.pdf.Google ScholarGoogle Scholar
  42. Keira Zhou, Jack Wadden, Jeffrey J. Fox, Ke Wang, Donald E. Brown, and Kevin Skadron. 2015. Regular expression acceleration on the micron automata processor: Brill tagging as a case study. In 2015 IEEE International Conference on Big Data (Big Data). IEEE, 355--360.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Yumin Zhou, Sebastian Burg, Oliver Bringmann, and Wolfgang Rosenstiel. 2018. A software reconfigurable assertion checking unit for run-time error detection. In 2018 IEEE 23rd European Test Symposium (ETS). IEEE, 1--6. DOI:https://doi.org/10.1109/ETS.2018.8400691Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Efficient Tracing Methodology Using Automata Processor

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!