Process Programming to Support Medical Safety: A Case Study on Blood Transfusion

  • Lori A. Clarke
  • Yao Chen
  • George S. Avrunin
  • Bin Chen
  • Rachel Cobleigh
  • Kim Frederick
  • Elizabeth A. Henneman
  • Leon J. Osterweil
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3840)

Abstract

Medical errors are now recognized as a major cause of untimely deathsor other adverse medical outcomes. To reduce the number of medical errors, the Medical Safety Project at the University of Massachusetts is exploring using a process programming language to define medical processes, a requirements elicitation framework for specifying important medical properties, and finite-state verification tools to evaluate whether the process definitions adhere to these properties. In this paper, we describe our experiences to date. Although our findings are preliminary, we have found that defining and evaluating processes helps to detect weaknesses in these processes and leads to improved medical processes definitions.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Cheung, S.C., Giannakopoulou, D., Kramer, J.: Verification of liveness properties using compositional reachability analysis. In: Sixth European Software Engineering Conference and Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering, Zurich, Switzerland, pp. 227–243 (1997)Google Scholar
  2. 2.
    Cobleigh, J.M., Clarke, L.A., Osterweil, L.J.: Verifying properties of process definitions. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, Portland, OR, pp. 96–101 (2000)Google Scholar
  3. 3.
    Corbett, J.C., Dwyer, M.B., Hatcliff, J.: Robby: Bandera: A source-level interface for model checking Java programs. In: 22nd International Conference on Software Engineering, Limerick, Ireland, pp. 762–765 (2000)Google Scholar
  4. 4.
    Dwyer, M.B., Clarke, L.A., Cobleigh, J.M., Naumovich, G.: Flow analysis for verifying properties of concurrent software systems. ACM Transactions on Software Engineering and Methodology 14(3), 359–430 (2004)CrossRefGoogle Scholar
  5. 5.
    Holzmann, G.J.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–294 (1997)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Institute of Medicine: Crossing the Quality Chasm: A New Health System for the 21st Century, pp. 23–38. The National Academies Press, Washington DC (2001)Google Scholar
  7. 7.
    Kohn, L.T., Corrigan, J.M., Donaldson, M.S. (eds.): To Err is Human: Building a Safer Health System. National Academy Press, Washington DC (1999)Google Scholar
  8. 8.
    Lerner, B.S.: Verifying process models built using parameterized state machines. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, Boston, MA, pp. 274–284 (2004)Google Scholar
  9. 9.
    Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. John Wiley & Sons, Chichester (1999)MATHGoogle Scholar
  10. 10.
    Smith, R.L., Avrunin, G.S., Clarke, L.A., Osterweil, L.J.: PROPEL: An approach supporting property elucidation. In: 24th International Conference on Software Engineering, Orlando, FL, pp. 11–21 (2002)Google Scholar
  11. 11.
    Wise, A.: Little-JIL 1.0 language report. Technical report (UM-CS-1998-024), Department of Computer Science, University of Massachusetts, Amherst, MA (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Lori A. Clarke
    • 1
  • Yao Chen
    • 1
  • George S. Avrunin
    • 1
  • Bin Chen
    • 1
  • Rachel Cobleigh
    • 1
  • Kim Frederick
    • 1
  • Elizabeth A. Henneman
    • 2
  • Leon J. Osterweil
    • 1
  1. 1.Department of Computer ScienceUniversity of MassachusettsAmherstUSA
  2. 2.School of NursingUniversity of MassachusettsAmherstUSA

Personalised recommendations