Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Formal change impact analyses for emulated control software

Published: 01 August 2006 Publication History

Abstract

Processor emulators are a software tool for allowing legacy computer programs to be executed on a modern processor. In the past emulators have been used in trivial applications such as maintenance of video games. Now, however, processor emulation is being applied to safety-critical control systems, including military avionics. These applications demand utmost guarantees of correctness, but no verification techniques exist for proving that an emulated system preserves the original system's functional and timing properties. Here we show how this can be done by combining concepts previously used for reasoning about real-time program compilation, coupled with an understanding of the new and old software architectures. In particular, we show how both the old and new systems can be given a common semantics, thus allowing their behaviours to be compared directly.

References

[1]
Back, R.-J., von Wright, J.: Refinement calculus: a systematic introduction. Springer, Berlin Heidelberg New York (1998)
[2]
Back R.-J.R., von Wright, J.: Refinement calculus, part I: Sequential nondeterministic programs. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness (REX Workshop 1989). Lecture Notes in Computer Science, vol. 430, pp. 42---66. Springer, Berlin Heiderberg New York (1989)
[3]
Baker, T.P., Shaw, A.: The cyclic executive model and Ada. J. Real-Time Syst. 1(1), 7---26 (1989)
[4]
Beus-Dukic, L.: COTS real-time operating systems in space. Saf. Syst.: Saf.-Crit. Syst. Club Newslett. 10(3), 11---14 (2001)
[5]
Börger, E., Durdanović, I.: Correctness of compiling occam to transputer code. Comput. J. 39(1), 52---92 (1996)
[6]
Cifuentes, C., Simon, D., Fraboulet, A.: Assembly to high-level language translation. In: Proceedings of the International Conference on Software Maintenance, pp. 228---237. IEEE Press, Los Alamitos, CA (1998)
[7]
Comfort, R.A.: The economics of microprocessor obsolescence. COTS J., pp. 21---23, July/August 1998
[8]
Corman, D., Goertzen, P., Luke, J., Mills, M.: Incremental upgrade of legacy systems (IULS): a fundamental software technology for aging aircraft. In: 4th Joint DOD/FAA/NASA Conference on Aging Aircraft (2000)
[9]
Culpin, D.: Overcoming technology lag in mission computers. Aust. Def. Sci. 11(1) 4---5, (2003)
[10]
Dijkstra, E.W., Scholten, C.S.: Predicate calculus and program semantics. Springer, Berlin Heiderberg New York (1990)
[11]
Falardeau, J.D.G.: Schedulability analysis in rate monotonic based systems with application to the CF-188. Master's thesis, Department of Electrical and Computer Engineering, Royal Military College of Canada, May 1994
[12]
Fidge C.J.: Timing analysis of assembler code control-flow paths. In: Eriksson, L.-H., Lindsay, P. (eds.) FME 2002: Formal Methods --- Getting IT Right. Lecture Notes in Computer Science, vol. 2391, pp. 370---389. Springer, Berlin Heidelberg New York (2002)
[13]
Fidge, C.J.: Verifying emulation of legacy mission computer systems. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003: Formal Methods. Lecture Notes in Computer Science, vol. 2805, pp. 187---207. Springer, Berlin Heidelberg New York (2003)
[14]
Gust, P.: Introduction to Machine and Assembly Language Programming. Prentice-Hall, Englewood Cliffs, NJ (1986)
[15]
Hayes, I.J., Utting, M.: A sequential real-time refinement calculus. Acta Inform. 37(6), 385---448 (2001)
[16]
Hooman, J.: Extending Hoare logic to real-time. Formal Asp. Comput. 6(6A), 801---825 (1994)
[17]
Kalinsky, D.: Context switch. Embedded Syst. Program. 14(2), 94---105 (2001)
[18]
Kleiner, K.: I ? Space invaders. New Sci. (2313), 46---48 (2001)
[19]
Lermer, K., Fidge, C.J.: A formal model of real-time program compilation. Theor. Comput. Sci. 282(1), 151---190 (2002)
[20]
Leventhal, L.A.: Introduction to Microprocessors: Software, Hardware and Programming. Prentice-Hall, Eng1ewood Cliffs, NJ (1978)
[21]
Locke, C.D.: Software architecture for hard real-time applications: cyclic executives vs. fixed priority executives. J. Real-Time Syst. 4, 37---53 (1992)
[22]
Locke,C.D., Vogel, D.R., Lucas,L., Goodenough, J.B.: Generic avionics software specification. Technical Report CMU/SEI-90-TR-8, Software Engineering Institute, Carnegie Mellon University, Pittsburgh Dec. 1990
[23]
Luke, J.A., Haldeman, D.G., Cannon, W.J.: A COTS-based replacement strategy for aging avionics computers. CrossTalk--- J. Def. Softw. Eng. pp. 14---17, Dec. 2001
[24]
Morgan, C.: Programming from Specifications. Prentice-Hall, Englewood Cliffs, NJ (1990)
[25]
Müller-Olm, M.: Modular compiler verification: a refinement-algebraic approach advocating stepwise abstraction. Lecture Notes in Computer Science, vol. 1283. Springer, Berlin Heidelberg New York (1997)
[26]
RTCA, Inc.: Software considerations in airborne systems and equipment certification. Special Committee 167 Document No. RTCA/DO-178B, Dec. 1992.
[27]
Sampaio, A.: An algebraic approach to compiler design AMAST series in computing, vol. 4. World Scientific, Singapore (1997)
[28]
Scholefield, D.: Real-time refinement in Manna and Pnueli's temporal logic. Form. Asp. Comput. 8(4), 408---427 (1996)
[29]
Sekerinski, E.: A calculus for predicative programming. In: Bird, R.S., Morgan, C.C., Woodcock, J.C.P. (eds.) Mathematics of Program Construction (MPC'93). Lecture Notes in Computer Science, vol. 669, pp. 302---322. Springer, Berlin Heiderberg New York (1993)
[30]
Shaw, A.C.: Reasoning about time in higher-level language software. IEEE Trans. Softw. Eng. 15(7), 875---889 (1989)
[31]
Spivey, J.M.: Understanding Z: a specification language and its formal semantics. Cambridge Tracts in Theoretical Computer Science, vol. 3. Cambridge University Press, Cambridge, UK (1988)
[32]
Stepney, S.: High Integrity Compilation: A Case Study. Prentice-Hall, Englewood Cliffs, NJ (1993)
[33]
Stewart, D.B.: 30 pitfalls for real-time software developers, part 1. Embedded Syst. Program. 12(1), 32---41 (1999)
[34]
TRW: Emulator Application Programming Interface (API) for the 1750A Virtual Component Environment (VCE1750A). Technical Report HML-API-001, Revision D, TRW Dayton Engineering Laboratory Mar. 2001
[35]
U.S. Department of Transportation Federal Aviation Administration: Guidelines for the Oversight of Software Change Impact Analyses Used to Classify Software Changes as Major or Minor, FAA Notice N8110.85 (2000)
[36]
U.S. Department of Transportation Federal Aviation Administration. Guidelines for the Approval of Software Changes in Legacy Systems Using RTCA DO-178B. FAA Notice N8110.89 (2001)

Recommendations

Comments

Information & Contributors

Information

Published In

cover image International Journal on Software Tools for Technology Transfer (STTT)
International Journal on Software Tools for Technology Transfer (STTT)  Volume 8, Issue 4-5
August 2006
161 pages
ISSN:1433-2779
EISSN:1433-2787
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 August 2006

Author Tags

  1. Program analysis
  2. Software maintenance

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media