Skip to main content
Log in

Integration of informal and formal development of object-oriented safety-critical software

  • Special section on formal methods for industrial critical systems
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

The KeY system allows for the integrated informal and formal development of object-oriented Java software. In this paper we report on a major industrial case study involving safety-critical software for the computation of a particular kind of railway timetable used by train conductors. Our case study includes formal specification of requirements both on the analysis and the implementation level. Particular emphasis in our research is placed on the challenge to make authoring and maintenance of formal specifications easier. We demonstrate that the technique of specification patterns as implemented in KeY for the language OCL yields significant improvements.

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

  1. Abrial J-R (1996) The B Book: assigning programs to meanings. Cambridge University Press, Cambridge, UK

    Google Scholar 

  2. Ahrendt W, Baar T, Beckert B, Bubel R, Giese M, Hähnle R, Menzel W, Mostowski W, Roth A, Schlager S, Schmitt PH (2004) The KeY tool. Softw Syst Model (in press)

  3. Baar T, Hähnle R (2000) An integrated metamodel for OCL types. In: France R, Rumpe B, Whittle J (eds) Proc. OOPSLA 2000 workshop refactoring the UML: in search of the core, Minneapolis, MI, October 2000

    Google Scholar 

  4. Baar T, Hähnle R, Sattler T, Schmitt PH (2000) Entwurfsmustergesteuerte Erzeugung von OCL-Constraints. In: Mehlhorn K, Snelting G (eds) Softwaretechnik-Trends, Informatik Aktuell. Springer, Berlin Heidelberg New York, pp 389–404

  5. Beckert B, Keller U, Schmitt PH (2002) Translating the Object Constraint Language into first-order predicate logic. In Proc. VERIFY, workshop at federated logic conferences (FLoC), Copenhagen. http://www.key-project.de/key/doc/2002/BeckertKellerSchmitt02.ps.gz

  6. Beckert B, Schlager S (2004) Software verification with integrated data type refinement for integer arithmetic. In: Boiten EA, Derrick J, Smith G (eds) Proc. international conference on integrated formal methods, Canterbury, UK, Lecture notes in computer science, vol 2999. Springer, Berlin Heidelberg New York, pp 207–226

  7. Bubel R (2002) Formale Spezifikation und Verifikation sicherheitskritischer Software mit dem KeY-System. Diplomarbeit, Fakultät für Informatik, Universität Karlsruhe, December 2002. (in English with German abstract)

  8. Burdy L, Requet A, Lanet J-L (2003) Java applet correctness: a developer-oriented approach. In: Proc. Formal Methods Europe, Pisa, Italy, Lecture notes in computer science, vol 2805. Springer, Berlin Heidelberg New York, pp 422–439

  9. Ciancarini P, Cimato S, Mascolo C (1997) Engineering formal requirements: an analysis and testing method for Z documents. Ann Softw Eng 3:189–219

    Article  Google Scholar 

  10. Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott C (2003) The Maude 2.0 System. In: Nieuwenhuis R (ed) Rewriting techniques and applications (RTA 2003). Lecture notes in computer science, vol 2706. Springer, Berlin Heidelberg New York, pp 76–87

  11. Corbett JC, Dwyer MB, Hatcliff J, Robby (2000) A language framework for expressing checkable properties of dynamic software. In: Proc. SPIN software model checking workshop. Lecture notes in computer science, vol 1885. Springer, Berlin Heidelberg New York, pp 205–223

  12. Crocker D (2002) Perfect Developer: a tool for rigorous object-oriented software development. In: Clark T, Evans A, Lano K (eds) Proc. 4th workshop on rigorous object-oriented methods, London

  13. Dwyer MB, Avrunin GS, Corbett JC (1998) Property specification patterns for finite-state verification. In: Ardis M (ed) Proc. 2nd workshop on formal methods in software practice (FMSP-98). ACM Press, New York, pp 7–15

  14. Finger F (2000) Design and implementation of a modular OCL compiler. Diplomarbeit, Technische Universität Dresden, Fakultät für Informatik, March 2000

  15. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading, MA

    Google Scholar 

  16. Hähnle R, Johannisson K, Ranta A (2002) An authoring tool for informal and formal requirements specifications. In: Kutsche R-D, Weber H (eds) Fundamental approaches to software engineering (FASE), part of joint European conferences on theory and practice of software (ETAPS), Grenoble, France. Lecture notes in computer science, vol 2306. Springer, Berlin Heidelberg New York, pp 233–248.

  17. Jacobs B, Poll E (2004) Java program verification at Nijmegen: developments and perspective. In: 2nd Mext-NSF-JSPS international symposium on software security – theories and systems. Lecture notes in computer science, vol 3233. Springer, Berlin Heidelberg New York, pp 134–153

  18. Lano K, Clark D, Androutsopoulos K (2004) UML to B: Formal verification of object-oriented models. In: Boiten EA, Derrick J, Smith G (eds) Proc. international conference on integrated formal methods, Canterbury, UK. Lecture notes in computer science, vol 2999. Springer, Berlin Heidelberg New York, pp 187–206

  19. Leavens GT, Poll E, Clifton C, Cheon Y, Ruby C, Cok D, Kiniry J (2004) JML reference manual, March Draft. ftp://ftp.cs.iastate.edu/pub/leavens/JML/jmlrefman.pdf

  20. Meyer J, Müller P, Poetzsch-Heffter A (2000) The jive system – implementation description. http://softech.informatik.uni-kl.de/softech

  21. Nickl F, Wirsing M (1993) A formal approach to requirements engineering. In: Bjoerner D, Broy M, Pottosin IV (eds) Formal methods in programming and their applications, July 1993. Lecture notes in computer science, vol 735. Springer, Berlin Heidelberg New York, pp 312–334

  22. Object Modeling Group (1997) Object Constraint Language Specification, version 1.1, September. http://www.omg.org/cgi-bin/doc?ad/97-08-08

  23. Ranta A (2004) Grammatical framework: A type-theoretical grammar formalism. J Function Programm 14(2):145–189

    Article  MathSciNet  Google Scholar 

  24. Roth A (2002) Deduktiver Softwareentwurf am Beispiel des Java Collections Framework. Diplomarbeit, Fakultät für Informatik, Universität Karlsruhe, June. http://www.key-project.org

  25. Snook C, Wheeler P, Butler M (2003) Preliminary tool extensions for integration of UML and B. IST-2000-30103 project deliverable D4.1.2 http://www.keesda.com/pussee/

  26. Stenzel K (2001) Verification of JavaCard programs. Technical report 2001-5, Institut für Informatik, Universität Augsburg, Germany. http://www.Informatik.Uni-Augsburg.DE/swt/fmg/papers/

  27. Transport-, Informatik- und Logistik-Consulting GmbH (2001) DELTA: Gemeinsame Fahrplandatenhaltung, Produktbeschreibung Redesign SbF (SbF-R), October 2001

  28. von Oheimb D (2001) Analyzing Java in Isabelle/HOL. PhD thesis, Institut für Informatik, Technische Universität München, January 2001

  29. Warmer J, Kleppe A (2003) The Object Constraint Language: getting your models ready for MDA. Object Technology Series. Addison-Wesley, Reading, MA

    Google Scholar 

  30. Wieringa R, Dubois E, Huyts S (1997) Integrating semi-formal and formal requirements. In: Olivé A, Pastor J (eds) Advanced information systems engineering. Lecture notes in computer science, vol 1250. Springer, Berlin Heidelberg New York, pp 19–32

  31. Wieringa RJ (2003) Design methods for reactive systems: Yourdon, Statemate, and the UML. Morgan Kaufmann, San Francisco

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Richard Bubel.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bubel, R., Hähnle, R. Integration of informal and formal development of object-oriented safety-critical software. Int J Softw Tools Technol Transfer 7, 197–211 (2005). https://doi.org/10.1007/s10009-004-0166-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-004-0166-5

Keywords

Navigation