Abstract
We briefly present a software methodology for safety-critical software, developed over many years to cope with industrial safety-critical applications in the Canadian nuclear industry. Following this we present discussion on software tools that have been used to support this methodology, and software tools that could be used, but have not been used for a variety of reasons. Based on our experience, we also present and motivate a list of high-level requirements for tools that would facilitate the development of safety-critical software using the presented methods, together with a small number of tools that we believe are worth developing in the future.
Similar content being viewed by others
References
Abraham, R.: Evaluating generalized tabular expressions in software documentation. Technical report CRL No. 346, McMaster University, Hamilton, ON, Canada (1997)
Anderson, P., Reps, T., Teitelbaum, T.: Design and implementation of a fine-grained software inspection tool. IEEE Trans. Softw. Eng. 29(8), 721–733 (2003)
Archer, M., Heitmeyer, C., Riccobene, E.: Proving invariants of i/o automata with tame. Automated Softw. Eng. 9(3), 201–232 (2002)
Autexier, S., Hutter, D., Mossakowski, T., Schairer, A.: The development graph manager MAYA. In: Kirchner, C.R.H. (ed.) Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology, AMAST 2002, LNCS, vol. 2422, pp. 495–501. Saint-Gilles-les- Bains, Reunion Island, France, (2002). Springer, Berlin Heidelberg New York
Concurrent versions system: the open standard for version control, web site at http://www.cvshome.org
Dutertre, B., Stavridou, V.: Formal requirements analysis of an avionics control system. IEEE Trans. Softw. Eng. 23(5), 267–278 (1997)
Heitmeyer, C.: Software cost reduction. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering, 2nd edn., Wiley, New York (2002)
Heitmeyer, C., Kirby, J., Labaw, B., Bharadwaj, R.: SCR*: A toolset for specifying and analyzing software requirements. In: Proceedings of the 10th International Conference on Computer Aided Verification (CAV’98), Vancouver, BC, Canada, (1998) Lecture Notes in Computer Science, vol. 1427, pp. 526–531. Springer, Berlin Heidelberg New York (1998)
Heitmeyer, C., Bull, A., Gasarch, C., Labaw, B.: SCR*: A toolset for specifying and analyzing requirements. In: Proceedings of the 10th Annual Conference on Computer Assurance, Compass ’95, pp. 109–122, Gaithersburg, Maryland. National Institute of Standards and Technology (1995)
Heitmeyer, C., Kirby, J., Jr. Labaw, B., Archer, M., Bharadwaj, R.: Using abstraction and model checking to detect safety violations in requirements specifications. IEEE Trans. Softw. Eng. 24(11), 927–948 (1998)
Heninger, K.L.: Specifying software requirements for complex systems: New techniques and their applications. IEEE Trans. Softw. Eng. 6(1), 2–13 (1980)
Hutter, D.: Management of change in structured verification. In: Proceedings of the 15th IEEE International Conference on Automated Software Engineering (ASE-2000), pp. 23–34. IEEE Computer Society (2000)
Janicki, R., Parnas, D.L., Zucker, J.: Tabular representations in relational documents. In: Brink, C., Kahl, W., Schmidt, G. (eds.) Relational Methods in Computer Science, Advances in Computing Science, chapter 12, pp. 184–196. Springer Wien New York (1997)
Kahl, W.: Compositional syntax and semantics of tables. Technical report 15, Software Quality Research Lab, McMaster University, Hamilton, ON, Canada (2003)
Khedri, R., Wu, R., San, B.: SCENATOR: a prototype tool for requirements inconsistency detection. In: Wang, F., Lee, I. (eds.) Proceedings of the 1st International Workshop on Automated Technology for Verification and Analysis, pp. 75–86, Taiwan, Republic of China. National Taiwan University, National Taiwan University (2003)
Knight, J.C., Hanks, K.S., Travis, S.R.: Tool support for production use of formal techniques. In: Proceedings of the 12th International Symposium on Software Reliability Engineering (ISSRE 2001), Hong Kong, China. IEEE Computer Society (2001)
Kohlhase, M., Anghelache, R.: Towards collaborative content management and version control for structured mathematical knowledge. In: Asperti, A., Buchberger, B., Davenport, J.H. (eds.) Proceedings of the 2nd International Conference on Mathematical Knowledge Management, MKM 2003, LNCS, vol. 2594, pp. 147–161, Bertinoro, Italy. Springer, Berlin Heidelberg New York (2003)
Lawford, M., Froebel, P., Moum, G.: Application of tabular methods to the specification and verification of a nuclear reactor shutdown system. Accepted for publication in Formal Methods in System Design, (2004). Draft available at http://www.cas.mcmaster.ca/lawford/papers/
Lawford, M., Hu, X.: Right on time: Pre-verified software components for constructuion of real-time systems. Technical report 8, Software Quality Research Lab, McMaster University, Hamilton, ON, Canada (2002)
Lawford, M., McDougall, J., Froebel, P., Moum, G.: Practical application of functional and relational methods for the specification and verification of safety critical software. In: Rus, T. (ed.) Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology, AMAST 2000, Iowa City, Iowa, USA, (2000). Lecture Notes in Computer Science, vol. 1816, pp. 73–88. Springer, Berlin Heidelberg New York (2000)
Owre, S., Rushby, J., Shankar, N.: Integration in PVS: Tables, types, and model checking. In: Brinksma, E. (ed.) Tools and Algorithms for the Construction and Analysis of Systems (TACAS ’97), Lecture Notes in Computer Science, vol. 1217, pp. 366–383, Enschede, The Netherlands. Springer, Berlin Heidelberg New York (1997)
Owre, S., Rushby, J., Shankar, N., von Henke, F.: Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Trans. Softw. Eng. 21(2), 107–125 (1995)
Parnas, D.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)
Parnas, D.L., Madey, J.: Functional documents for computer systems. Sci. Comput. Prog. 25(1), 41–61 (1995)
Parnas, D.L.: Using mathematical models in the inspection of critical software. In: Hinchey, M.G., Bowen, J.P. (eds.) Applications of Formal Methods, International Series in Computer Science, chapter 2, pp. 17–31. Prentice Hall, Englewood Cliffs, NJ (1995)
Parnas, D.L., Clements, P.: A rational design process: How and why to fake it. IEEE Trans. Softw. Eng. 12(2), 251–257 (1986)
Paulson, L.: Better software with open source? IEEE Comput. Mag., pp. 20–21 (2000)
Rumbaugh, J., Jacobson, I., Booch, G.: The unified modeling language reference manual. Addison-Wesley, Reading, MA (1998)
Rushby, J., Owre, S., Shankar, N.: Subtypes for specifications: Predicate subtyping in PVS. IEEE Trans. Softw. Eng. 24(9), 709–720 (1998)
Scheffczyk, J., Borghoff, U.M., Rödig, P., Schmitz, L.: Consistent document engineering: Formalizing type-safe consistency rules for heterogeneous repositories. In: Proceedings of the 2003 ACM Symposium on Document Engineering, pp. 140–149. ACM, New York (2003)
Viola, M.: Ontario Hydro’s experience with new methods for engineering safety critical software. In: Proceedings of the 14th International Conference on Computer Safety, Reliability and Security, SAFECOMP’95, pp. 283–298, Belgirate, Italy. Springer, Berlin Heidelberg New York (1995)
Wassyng, A., Janicki, R.: Using tabular expressions. In: Proceedings of International Conference on Software and Systems Engineering and their Applications, vol. 4, pp. 1–17, Paris (2003)
Wassyng, A., Lawford, M.: Lessons learned from a successful implementation of formal methods in an industrial project. In: Araki, K., Gnesi, S., Mandriioli, D. (eds.) Proceedings of the International Symposium of Formal Methods Europe Proceedings, FME 2003, Lecture Notes in Computer Science, vol. 2805, pp. 133–153. Springer, Berlin Heidelberg New York (2003)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Wassyng, A., Lawford, M. Software tools for safety-critical software development. Int J Softw Tools Technol Transfer 8, 337–354 (2006). https://doi.org/10.1007/s10009-005-0209-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-005-0209-6