Incremental Development of a Distributed Real-Time Model of a Cardiac Pacing System Using VDM

  • Hugo Daniel Macedo
  • Peter Gorm Larsen
  • John Fitzgerald
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5014)


The construction of formal models of real-time distributed systems is a considerable practical challenge. We propose and illustrate a pragmatic incremental approach in which detail is progressively added to abstract system-level specifications of functional and timing properties via intermediate models that express system architecture, concurrency and timing behaviour. The approach is illustrated by developing a new formal model of the cardiac pacemaker system proposed as a “grand challenge” problem in 2007. The models are expressed using the Vienna Development Method (VDM) and are validated primarily by scenario-based tests, including the analysis of timed traces. We argue that the insight gained using this staged modelling approach will be valuable in the subsequent development of implementations, and in detecting potential bottlenecks within suggested implementation architectures.


Software Product Line Grand Challenge Proof Obligation Execution Trace User Story 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Jones, C.B.: Systematic Software Development Using VDM, 2nd edn. Prentice-Hall International, Englewood Cliffs (1990), ISBN 0-13-880733-7 Google Scholar
  2. 2.
    Fitzgerald, J., Larsen, P.G.: Modelling Systems – Practical Tools and Techniques in Software Development. Cambridge University Press, The Edinburgh Building (1998), ISBN 0-521-62348-0Google Scholar
  3. 3.
    Fitzgerald, J., Larsen, P.G., Mukherjee, P., Plat, N., Verhoef, M.: Validated Designs for Object–oriented Systems. Springer, New York (2005)MATHGoogle Scholar
  4. 4.
    Fitzgerald, J.S., Larsen, P.G.: Triumphs and Challenges for the Industrial Application of Model-Oriented Formal Methods. In: Margaria, T., Philippou, A., Steffen, B., eds.: Proc. 2nd Intl. Symp. on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA (2007) Also Technical Report CS-TR-999, School of Computing Science, Newcastle University (2007)Google Scholar
  5. 5.
    Verhoef, M., Larsen, P.G., Hooman, J.: Modeling and Validating Distributed Embedded Real-Time Systems with VDM++. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 147–162. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Fitzgerald, J.S., Larsen, P.G., Tjell, S., Verhoef, M.: Validation Support for Real-Time Embedded Systems in VDM++. In: Cukic, B., Dong, J. (eds.) Proc. HASE 2007: 10th IEEE High Assurance Systems Engineering Symposium, November 2007, pp. 331–340. IEEE, Los Alamitos (2007)CrossRefGoogle Scholar
  7. 7.
    C.S.K.: Development Guidelines for Real Time Systems using VDMTools. Technical report, CSK Systems (2008)Google Scholar
  8. 8.
    Boston Scientific: Pacemaker system specification. Technical report, Boston Scientific (January 2007),
  9. 9.
    Woodcock, J.: First Steps in the Verified Software Grand Challenge. Computer 39(10), 57–64 (2006)CrossRefGoogle Scholar
  10. 10.
    Ellenbogen, K.A., Wood, M.A.: Cardiac Pacing and ICDs, 4th edn. Blackwell, Malden (2005)Google Scholar
  11. 11.
    Mukherjee, P., Bousquet, F., Delabre, J., Paynter, S., Larsen, P.G.: Exploring Timing Properties Using VDM++ on an Industrial Application. In: Bicarregui, J., Fitzgerald, J. (eds.) Proceedings of the Second VDM Workshop (September 2000),
  12. 12.
    Larsen, P.G., Hansen, B.S., et al.: Information technology – Programming languages, their environments and system software interfaces – Vienna Development Method – Specification Language – Part 1: Base language (December 1996)Google Scholar
  13. 13.
    Overture Group: The VDM Portal (2007),
  14. 14.
    Lano, K.: Logic specification of reactive and real-time systems. Journal of Logic and Computation 8(5), 679–711 (1998)MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Verhoef, M., Larsen, P.G.: Interpreting Distributed System Architectures Using VDM++ – A Case Study. In: Sauser, B., Muller, G. (eds.) 5th Annual Conference on Systems Engineering Research (March 2007),
  16. 16.
    CSK: VDMTools homepage (2007),
  17. 17.
    Kurita, T., Oota, T., Nakatsugawa, Y.: Formal specification of an embedded IC for cellular phones. In: Proceedings of Software Symposium 2005. Software Engineers Associates of Japan, June 2005, pp. 73–80 (in Japanese)Google Scholar
  18. 18.
    Macedo, H.: Validating and Understanding Boston Scientific Pacemaker Requirements. Master’s thesis, Minho University, Portugal (October 2007)Google Scholar
  19. 19.
    Macedo, H.: VDM models of the Pacemaker Challenge (2007),
  20. 20.
    Sørensen, R.A., Nygaard, J.M.: Evaluating Distributed Architectures using VDM++ Real-Time Modelling with a Proof of Concept Implementation. Master’s thesis, Enginering College of Aarhus (December 2007)Google Scholar
  21. 21.
    Verhoef, M.: Modeling and Validation Distributed Embedded Real-Time Systems. PhD thesis, Radboud University Nijmegen (2008)Google Scholar
  22. 22.
    Vilas, A.F., Arias, J.J.P., Redondo, R.P.D., Martinez, A.B.B.: Formalizing Incremental Design in Real-time Area: SCTL/MUS-T. In: Proceedings of the 26 th Annual International Computer Software and Applications Conference (COMPSAC 2002), IEEE, Los Alamitos (2002)Google Scholar
  23. 23.
    de Boer, F.: CREDO: Modeling and analysis of evolutionary structures for distributed services (2007),
  24. 24.
    Lecomte, T.: Event B Reference Manual. Technical report, MATISSE/ClearSy (2001)Google Scholar
  25. 25.
    Suhaib, S.M., Mathaikutty, D.A., Shukla, S.K., Berner, D.: XFM: An Incremental Methodology for Developing Formal Models. ACM Transactions on Design Automation of Electronic Systems 10(4), 589–609 (2005)CrossRefGoogle Scholar
  26. 26.
    Douglas, B.P.: Real Time UML – Advances in the UML for real-time systems, 3rd edn. Addison-Wesley, Reading (2004)Google Scholar
  27. 27.
    de Jong, G.: A UML-Based Design Methodology for Real-Time and Embedded Systems. In: Proceedings of the 2002 Design, Automation and Test in Europe Conference and Exhibition (DATE 2002), IEEE, Los Alamitos (2002)Google Scholar
  28. 28.
    Burmester, S., Giese, H., Hirsch, M., Schilling, D.: Incremental Design and Formal Verification with UML/RT in the FUJABA Real-Time Tool Suite. In: Proceedings of the International Workshop on Specification and vaildation of UML models for Real Time and embedded Systems, SVERTS 2004, UM (2004)Google Scholar
  29. 29.
    Uchitel, S., Kramer, J., Magee, J.: Incremental Elaboration of Scenario-Based Specifications and Behavior Models Using Implied Scenarios. ACM Transactions on Software Engineering and Methodology 13(1), 37–85 (2004)CrossRefGoogle Scholar
  30. 30.
    Jing Liu, J.D., Lutz, R.: Safety analysis of software product lines using state-based modeling. Journal of Systems and Software 80(11), 1879–(1892)Google Scholar
  31. 31.
    Verhoef, M., Visser, P., Hooman, J., Broenink, J.: Co-simulation of Distributed Embedded Real-Time Control Systems. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 639–658. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  32. 32.
    Andrews, Z.H., Fitzgerald, J.S., Verhoef, M.: Resilience Modelling through Discrete Event and Continuous Time Co-Simulation. In: Proc. 37th Annual IFIP/IEEE Intl. Conf. on Dependable Systems and Networks (Supp. Volume), June 2007, pp. 350–351. IEEE Computer Society Press, Los Alamitos (2007)Google Scholar
  33. 33.
    Vermolen, S.: Automatically Discharging VDM Proof Obligations using HOL. Master’s thesis, Radboud University Nijmegen, Computer Science Department (August 2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Hugo Daniel Macedo
    • 1
  • Peter Gorm Larsen
    • 2
  • John Fitzgerald
    • 3
  1. 1.Minho UniversityPortugal
  2. 2.Engineering College of AarhusDenmark
  3. 3.School of Computing ScienceNewcastle UniversityUK

Personalised recommendations