Skip to main content
Log in

Extension Language Automation of Embedded System Debugging

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Embedded systems contain several layers of target processing abstraction. These layers include electronic circuit, binary machine code, mnemonic assembly code, and high-level procedural and object-oriented abstractions. Physical and temporal constraints and artifacts within physically embedded systems make it impossible for software engineers to operate at a single layer of processor abstraction. The Luxdbg embedded system debugger exposes these layers to debugger users, and it adds an additional layer, the extension language layer, that allows users to extend both the debugger and its target processor capabilities. Tcl is Luxdbg's extension language. Luxdbg users can apply Tcl to automate interactive debugging steps, to redirect and to interconnect target processor input-output facilities, to schedule multiple processor execution, to log and to react to target processing exceptions, to automate target system testing, and to prototype new debugging features. Inclusion of an extension language like Tcl in a debugger promises additional advantages for distributed debugging, where debuggers can pass extension language expressions across computer networks.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Auguston, M. 1994. A language for debugging automation. In Proceedings of the 6th International Conference on Software Engineering and Knowledge Engineering, pp. 108–115.

  • Beazley, D. 2000. Python Essential Reference. Indianapolis, IN: New Riders.

    Google Scholar 

  • Bhaskar, J. 1998. A VHDL Primer, 3rd edn. Upper Saddle River, NJ: Prentice Hall.

    Google Scholar 

  • Bruegge, B. and Hibbard, P. 1983. Generalized path expressions: A high-level debugging mechanism. The Journal of Systems and Software, 3:265–276.

    Google Scholar 

  • Cmelik, R. and Keppel, D. 1993. Shade: A fast instruction-set simulator for execution profiling. University of Washington Technical Report UWCSE 93–06–06.

  • Ducassé, M. 1999. Coca: An automated debugger for C. In Proceedings of the 21st International Conference on Software Engineering, ACM Press, pp. 504–513.

  • Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns, Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley.

    Google Scholar 

  • Golan, M. and Hanson, D.R. 1993. DUEL—a very high-level debugging language. In Proceedings of the Winter 1993 USENIX Annual Technical Conference, San Diego, CA, pp. 107–117.

  • Hanson, D.R. and Raghavachari, M. 1996. A machine-independent debugger. Software—Practice and Experience, 26(11):1277–1299.

    Google Scholar 

  • Hanson, D.R. and Korn, J.L. 1997. A simple and extensible graphical debugger. In Proceedings of the USENIX 1997 Annual Technical Conference, Anaheim, CA: USENIX, pp. 173–184.

    Google Scholar 

  • I-Logix. 2000. I-Logix home page, http://www.ilogix.com.

  • Jeremiassen, T. 2000. Sleipnir—An instruction level simulator generator. In Proceedings of the 2000 International Conference on Computer Design, Austin, TX: IEEE Computer Society.

    Google Scholar 

  • Keppel, D. 1993. Fast data breakpoints. University of Washington Technical Report UWCSE 93–04–06.

  • Kessler, P. 1990. Fast breakpoints: Design and implementation. In Proceedings of the ACM SIGPLAN'90 Conference on Programming Language Design and Implementation, White Plains, NY.

  • Lucent Technologies. 1998. DSP16000 LUxWORKS Debugger, Luxdbg Version 1.7.0.

  • Parson, D. 1999. Using Java reflection to automate extension language parsing. In Second Conference on Domain-Specific Languages Proceedings, Austin, Texas: USENIX, pp. 67–80.

    Google Scholar 

  • Parson, D., Beatty, P., Glossner, J., and Schlieder, B. 1999. A framework for simulating heterogeneous virtual processors. In Proceedings of the 32nd Annual Simulation Symposium, San Diego, CA: IEEE Computer Society/Society for Computer Simulation International, pp. 58–67.

    Google Scholar 

  • Parson, D., Beatty, P., and Schlieder, B. 1997. A Tcl-based self-configuring embedded system debugger. In theFifth Annual Tcl/Tk Workshop '97 Proceedings, Boston, MA: USENIX, pp. 131–138.

    Google Scholar 

  • Parson, D., Herrera-Bendezú, L., and Vollmer, J. 2000. Distributed source code debugging for embedded systems. In Proceedings of the 2000 International Conference on Parallel and Distributed Processing Techniques and Applications, Las Vegas, Nevada: Press, CSREA (Computer Science Research, Education and Applications) Vol. V, pp. 2409–2415.

    Google Scholar 

  • Project Technology. 2000. Project Technology home page, http://www.projtech.com.

  • Ramsey, N. and Hanson, D.R. 1992. A retargetable debugger. In ACMSIGPLAN '92 Conference on Programming Language Design and Implementation, in SIGPLAN Notices, 27(7):22–31.

    Google Scholar 

  • Rational. 2000. Rational home page, http://www.rational.com.

  • Sun Microsystems. 2000. Java platform debugger architecture, http://java.sun.com/products/jpda/.

  • University of Kansas. 2000. SmartGDB project, http://hegel.ittc.ukans.edu/projects/smartgdb/.

  • van Rossum, G. 1995. Extending and Embedding the Python Interpreter. Amsterdam: Stichting Mathematisch Centrum, also at http://www.python.org/doc/ext/ext.html.

    Google Scholar 

  • Wahbe, R., Lucco, S., and Graham, S. 1993. Practical data breakpoints: Design and implementation. In Proceedings of the ACM SIGPLAN'93 Symposium on Programming Language Design and Implementation, Albuquerque, NM.

  • Welch, B. 1999. Practical Programming in Tcl and Tk, 3rd edn. Upper Saddle River, NJ: Prentice Hall PTR.

    Google Scholar 

  • Winterbottom, P. 1994. ACID: A debugger built from a language. In Proceedings of the Winter 1994 USENIX Annual Technical Conference, San Francisco, CA, pp. 211–222.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Parson, D., Schlieder, B. & Beatty, P. Extension Language Automation of Embedded System Debugging. Automated Software Engineering 9, 7–39 (2002). https://doi.org/10.1023/A:1013276002164

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1013276002164

Navigation