skip to main content
article

A transformational perspective into the core of an abstract class loader for the SSP

Published:01 November 2006Publication History
Skip Abstract Section

Abstract

The SSP is a hardware implementation of a subset of the JVM for use in high-consequence embedded applications. In this context, a majority of the activities belonging to class loading, as it is defined in the specification of the JVM, can be performed statically. Static class loading has the net result of dramatically simplifying the design of the SSP, as well as increasing its performance. Because of the high consequence nature of its applications, strong evidence must be provided that all aspects of the SSP have been implemented correctly. This includes the class loader. This article explores the possibility of formally verifying a class loader for the SSP implemented in the strategic programming language TL. Specifically, an implementation of the core activities of an abstract class loader is presented and its verification in ACL2 is considered.

References

  1. Bergstra, J. A. 1989. Algebraic Specification. ACM Press, New York.]] Google ScholarGoogle Scholar
  2. Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., and Ringeissen, C. 1998. An overview of elan. Electr. Notes Theor. Comput. Sci. 15.]]Google ScholarGoogle Scholar
  3. Boyer, R. S. and Moore, J. S. 1988. A Computational Logic Handbook. Academic Press, New York.]] Google ScholarGoogle Scholar
  4. Boyer, R. S. and Yu, Y. 1996. Automated proofs of object code for a widely used microprocessor. J. ACM, 43, 1, 166--192.]] Google ScholarGoogle Scholar
  5. Cirstea, H. and Kirchner, C. 1999. An Introduction to the Rewriting Calculus. Research Report RR-3818, INRIA (Dec.).]]Google ScholarGoogle Scholar
  6. HATS. http://faculty.ist.unomaha.edu/winter/hats-uno/hatsweb/index.html.]]Google ScholarGoogle Scholar
  7. Kaufmann, M., Manolios, P., and Moore, J. S., Eds. 2000a. Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, Boston, MA.]] Google ScholarGoogle Scholar
  8. Kaufmann, M., Manolios, P., and Moore, J. S., Eds. 2000b. Computer-Aided Reasoning: Case Studies. Kluwer Academic Publishers, Boston, MA.]]Google ScholarGoogle Scholar
  9. Lindholm, T. and Yellin, F., Eds. 1999. The Java Virtual Machine 2nd ed. Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  10. Liu, H. and Moore, J. S. 2003. Executable jvm model for analytical reasoning: A study. In IVME '03: Proceedings of the 2003 Workshop on Interpreters, Virtual Machines and Emulators. ACM Press, New York. 15--23.]] Google ScholarGoogle Scholar
  11. Liu, H. and Moore, J. S. 2004. Java program verification via a jvm deep embedding in acl2.]]Google ScholarGoogle Scholar
  12. McCoy, J. A. 2000. An embedded system for safe, secure and reliable execution of high consequence software. In HASE 2004: The 5th IEEE International Symposium on High Assurance Systems Engineering.]]Google ScholarGoogle Scholar
  13. Moore, J. S., Eds. 1996. Piton: A Mechanically Verified Assembly-Level Language (Automated Reasoning Series). Kluwer Academic Publishers. Boston, MA.]] Google ScholarGoogle Scholar
  14. Moore, J. S. 1999. Proving theorems about Java-like byte code. In Correct System Design, Recent Insight and Advances (to Hans Langmaack on the Occasion of his Retirement from his Professorship at the University of Kiel), Springer-Verlag, New York. 139--162.]] Google ScholarGoogle Scholar
  15. Moore, J. S. 2003. Proving theorems about Java and the JVM with ACL2. In Models, Algebras and Logic of Engineering Software. IOS Press, Amsterdam. 227--290.]]Google ScholarGoogle Scholar
  16. Moore, J. S. and Porter, G. 2001. An executable formal java virtual machine thread model. In Java Virtual Machine Research and Technology Symposium. 91--104.]] Google ScholarGoogle Scholar
  17. van den Brand, M. G. J., Klint, P., and Vinju, J. J. 2003. Term rewriting with traversal functions. ACM Trans. Softw. Eng. Methodol. 12, 2, 152--190.]] Google ScholarGoogle Scholar
  18. Venners, B. 1998. Inside the Java Virtual Machine. McGraw-Hill, New York.]] Google ScholarGoogle Scholar
  19. Visser, E. 1999. Strategic pattern matching. In RtA '99: Proceedings of the 10th International Conference on Rewriting Techniques and Applications. London. Springer-Verlag, New York. 30--44.]] Google ScholarGoogle Scholar
  20. Visser, E. 2001. Scoped dynamic rewrite rules. Electronic Notes in Theoretical Computer Science, 59, 4.]]Google ScholarGoogle Scholar
  21. Visser, E., Benaissa, Z. e. A., and Tolmach, A. 1998. Building program optimizers with rewriting strategies. In Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming (ICFP'98). 13--26.]] Google ScholarGoogle Scholar
  22. Wickstrom, G. L., Davis, J., Morrison, S. E., Roach, S., and Winter, V. L. 2004. The ssp: An example of high-assurance system engineering. In HASE 2004: The 8th IEEE International Symposium on High Assurance Systems Engineering.]]Google ScholarGoogle Scholar
  23. Winter, V. 2004a. Strategy application, observability, and the choice combinator. Technical Report SAND2004-0871, Sandia National Laboratories (Mar.).]]Google ScholarGoogle Scholar
  24. Winter, V. 2004b. Strategy construction in the higher-order framework of TL. Electronic Notes in Theoretical Computer Science (ENTCS) 124.]]Google ScholarGoogle Scholar
  25. Winter, V. and Subramaniam, M. 2004. Dynamic strategies, transient strategies, and the distributed data problem. Science of Computer Programming (Special Issue on Program Transformation) 52, 165--212.]] Google ScholarGoogle Scholar
  26. Winter, V. L., Roach, S., and Wickstrom, G. 2003. Transformation-oriented programming: A development methodology for high assurance software. In Advances in Computers: Highly Dependable Software, M. Zelkowitz, Ed. vol. 58. 47--116.]]Google ScholarGoogle Scholar

Index Terms

  1. A transformational perspective into the core of an abstract class loader for the SSP

                  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
                  About Cookies On This Site

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

                  Learn more

                  Got it!