Why Programming Languages Still Matter
This paper examines some aspects of the aims and goals of the RODIN project and asks whether a successful outcome of the project will remove the need for us to worry about programming languages and the meaning of program source code. In common with some other currently ascendent approaches to software engineering, such as model-based development, RODIN is leading towards the construction of software models (in RODIN’s case precise software models) from which we may hope to generate source or even object code. So, does this remove the need for us to be concerned with the form these automatically-generated, intermediate representations take? Perhaps rather surprisingly, I conclude that the need to show an unbroken chain of confidence from requirements to object code means that programming languages and their analysis, remain an extremely important topic. I hope to show that the ability to produce better specifications and designs, as promised by approaches exemplified by RODIN, is a necessary precondition for effective high-integrity software development rather than a substitute for approaches currently in use.
KeywordsProgramming Language Fault Tolerance Magic Number Intermediate Representation Device Driver
Unable to display preview. Download preview PDF.
- 1.Amey, P.: Dear Sir, Yours Faithfully: an Everyday Story of Formality. Practical Elements of Safety. In: Proceedings of the Twelfth Safety-critical Systems Symposium, Birmingham, UK, February 2004, pp. 3–15. Springer, Heidelberg (2004)Google Scholar
- 2.Croxford, M., Chapman, R.: Correctness by Construction: A Manifesto for High-Integrity Software. Crosstalk Journal, 5–8 (December 2005)Google Scholar
- 3.Barnes, J.: High Integrity Software - the SPARK Approach to Safety and Security. Addison Wesley Longman, Amsterdam (2003)Google Scholar
- 4.Finnie, G., et al.: SPARK 95 - The SPADE Ada 95 Kernel. Praxis High Integrity SystemsGoogle Scholar
- 6.Parnas, D.L., Madey, J.: Functional Documentation for Computer Systems. Science of Computer Programming (October 1995)Google Scholar
- 7.Littlewood, B., Strigini, L.: Validation of Ultrahigh Dependability for Software-Based Systems. CACM 36(11), 69–80 (1993)Google Scholar
- 8.Littlewood, B.: Limits to evaluation of software dependability. In: Fenton, N., Littlewood, B. (eds.) Software Reliability and Metrics (Proceedings of Seventh Annual CSR Conference, Garmisch-Partenkirchen), pp. 81–110. Elsevier, LondonGoogle Scholar
- 10.Chapman, R., Amey, P.: Industrial Strength Exception Freedom. In: Proceedings of ACM SIGAda (2002)Google Scholar
- 11.Amey, P., Dion, B.: Combining Model-Driven Design With Diverse Formal Verification. In: ERTS 2006, Embedded Real-Time Software, Toulouse (2006)Google Scholar