Use of Tabular Expressions for Refinement Automation

  • Neeraj Kumar Singh
  • Mark Lawford
  • Thomas S. E. Maibaum
  • Alan Wassyng
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10563)

Abstract

We aim to develop sound and effective techniques to automate formal modelling and refinement from tabular expressions using a correct-by-construction approach. In this work, we present a refinement strategy to generate formal models from tabular expressions, as they can be used in the Event-B modelling paradigm. The proposed refinement strategy permits us to develop an abstract model using tabular expressions and a series of Event-B models using refinement from the set of tabular expressions. Further the proofs associated with the refinement strategy used to generate the model are examined through the Rodin tools. Our work is an important step towards eliciting patterns of automatic refinement for Event-B models from tabular expressions and to meet the properties of completeness and disjointness in a rigorous manner. To assess the effectiveness of our proposed approach, we use a medical device case study: the Insulin Infusion Pump (IIP).

Keywords

Tabular expression Event-B Refinement Formal methods Verification Validation Insulin Infusion Pump 

References

  1. 1.
    Parnas, D.L.: Tabular representation of relations. Technical report, McMaster University (1992)Google Scholar
  2. 2.
    Singh, N.K.: Using Event-B for Critical Device Software Systems. Springer, New York (2013). doi:10.1007/978-1-4471-5260-6 CrossRefGoogle Scholar
  3. 3.
    Lee, I., Pappas, G.J., Cleaveland, R., Hatcliff, J., Krogh, B.H., Lee, P., Rubin, H., Sha, L.: High-confidence medical device software and systems. Computer 39(4), 33–38 (2006)CrossRefGoogle Scholar
  4. 4.
    Iliasov, A., Troubitsyna, E., Laibinis, L., Romanovsky, A.: Patterns for refinement automation. In: de Boer, F.S., Bonsangue, M.M., Hallerstede, S., Leuschel, M. (eds.) FMCO 2009. LNCS, vol. 6286, pp. 70–88. Springer, Heidelberg (2010). doi:10.1007/978-3-642-17071-3_4 CrossRefGoogle Scholar
  5. 5.
    Kobayashi, T., Ishikawa, F., Honiden, S.: Understanding and planning Event-B refinement through primitive rationales. In: Ait Ameur, Y., Schewe, K.D. (eds.) Abstract State Machines, Alloy, B, TLA, VDM, and Z. LNCS, vol. 8477, pp. 277–283. Springer, Heidelberg (2014). doi:10.1007/978-3-662-43652-3_24 CrossRefGoogle Scholar
  6. 6.
    Project RODIN: Rigorous open development environment for complex systems (2004). http://rodin-b-sharp.sourceforge.net/
  7. 7.
    Parnas, D.L., Madey, J., Iglewski, M.: Precise documentation of well-structured programs. IEEE Trans. Softw. Eng. 20(12), 948–976 (1994)CrossRefGoogle Scholar
  8. 8.
    Janicki, R., Wassyng, A.: Tabular expressions and their relational semantics. Fundam. Inform. 67(4), 343–370 (2005)MathSciNetMATHGoogle Scholar
  9. 9.
    Jin, Y., Parnas, D.L.: Defining the meaning of tabular mathematical expressions. Sci. Comput. Program. 75(11), 980–1000 (2010). (Special Section on the Programming Languages Track at the 23rd ACM Symposium on Applied Computing)CrossRefMATHGoogle Scholar
  10. 10.
    Archinoff, G., Hohendorf, R., Wassyng, A., Quigley, B., Borsch, M.: Verification of the shutdown system software at the Darlington nuclear generating station. In: International Conference on Control and Instrumentation in Nuclear Installations, Glasgow, UK (1990)Google Scholar
  11. 11.
    Wassyng, A., Lawford, M.: Lessons learned from a successful implementation of formal methods in an industrial project. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 133–153. Springer, Heidelberg (2003). doi:10.1007/978-3-540-45236-2_9 CrossRefGoogle Scholar
  12. 12.
    Heitmeyer, C., Kirby, J., Labaw, B., Bharadwaj, R.: SCR: a toolset for specifying and analyzing software requirements. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 526–531. Springer, Heidelberg (1998). doi:10.1007/BFb0028775 CrossRefGoogle Scholar
  13. 13.
    Abrial, J.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)CrossRefMATHGoogle Scholar
  14. 14.
    Abrial, J.: The B-book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (2005)MATHGoogle Scholar
  15. 15.
    Back, R., Sere, K.: Superposition refinement of reactive systems. Formal Aspects Comput. 8(3), 324–346 (1996)CrossRefMATHGoogle Scholar
  16. 16.
    Masci, P., Ayoub, A., Curzon, P., Lee, I., Sokolsky, O., Thimbleby, H.: Model-based development of the generic PCA infusion pump user interface prototype in PVS. In: Bitsch, F., Guiochet, J., Kaâniche, M. (eds.) SAFECOMP 2013. LNCS, vol. 8153, pp. 228–240. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40793-2_21 CrossRefGoogle Scholar
  17. 17.
    Xu, H., Maibaum, T.: An Event-B approach to timing issues applied to the generic insulin infusion pump. In: Liu, Z., Wassyng, A. (eds.) FHIES 2011. LNCS, vol. 7151, pp. 160–176. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32355-3_10 CrossRefGoogle Scholar
  18. 18.
    Singh, N.K., Wang, H., Lawford, M., Maibaum, T.S.E., Wassyng, A.: Report 18: formalizing insulin pump using Event-B. Technical report 18, McSCert, McMaster University, October 2014. https://www.mcscert.ca/index.php/documents/mcscert-reports
  19. 19.
    Cantrell, H.N., King, J., King, F.E.H.: Logic-structure tables. Commun. ACM 4(6), 272–275 (1961)CrossRefMATHGoogle Scholar
  20. 20.
    Heninger, K., Kallander, J., Parnas, D.L., Shore, J.E.: Software requirements for the A-7E aircraft. NRL Memorandum report 3876. Naval Research Laboratory (1978)Google Scholar
  21. 21.
    Parnas, D.L.: A generalized control structure and its formal definition. Commun. ACM 26(8), 572–581 (1983)CrossRefMATHGoogle Scholar
  22. 22.
    Wassyng, A., Lawford, M., Maibaum, T.S.E.: Software certification experience in the Canadian nuclear industry: lessons for the future. In: EMSOFT, pp. 219–226 (2011)Google Scholar
  23. 23.
    Nalepa, G.J., Ligęza, A., Kaczor, K.: Formalization and modeling of rules using the XTT2 method. Int. J. Artif. Intell. Tools 20(06), 1107–1125 (2011)CrossRefGoogle Scholar
  24. 24.
    Nalepa, G.J., Ligęza, A.: The HeKatE methodology. Hybrid engineering of intelligent systems. Int. J. Appl. Math. Comput. Sci. 20(1), 35–53 (2010)CrossRefMATHGoogle Scholar
  25. 25.
    Dijkstra, E.W.: A Discipline of Programming, 1st edn. Prentice Hall PTR, Upper Saddle River (1997)MATHGoogle Scholar
  26. 26.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)CrossRefMATHGoogle Scholar
  27. 27.
    Back, R.J., von Wright, J.: Refinement Calculus: A Systematic Introduction, 1st edn. Springer-Verlag New York, Inc., New York (1998). doi:10.1007/978-1-4612-1674-2 CrossRefMATHGoogle Scholar
  28. 28.
    Morgan, C.: Programming from Specifications. Prentice-Hall Inc., Upper Saddle River (1990)MATHGoogle Scholar
  29. 29.
    Méry, D., Singh, N.K.: Automatic code generation from Event-B models. In: Proceedings of Second Symposium on Information and Communication Technology, pp. 179–188. ACM (2011)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Neeraj Kumar Singh
    • 1
  • Mark Lawford
    • 2
  • Thomas S. E. Maibaum
    • 2
  • Alan Wassyng
    • 2
  1. 1.INPT-ENSEEIHT/IRITUniversity of ToulouseToulouseFrance
  2. 2.McMaster Centre for Software CertificationMcMaster UniversityHamiltonCanada

Personalised recommendations