Advertisement

“UML–ising” Formal Techniques

  • Dines Bjørner
  • Chris W. George
  • Anne E. Haxthausen
  • Christian Krog Madsen
  • Steffen Holmslykke
  • Martin Pěnička
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3147)

Abstract

This invited paper presents a number of correlated specifications of example railway system problems. They use a variety of partially or fully integrated formal specification. The paper thus represents a mere repository of what we consider interesting case studies.

The existence of the Unified Modeling Language [10,67,36,20] has caused, for one reason or another, the research community to try formalise one or another facet of UML. In this paper we report on another way to achieve what UML attempts to achieve: Broadness of application, convenience of notation, and multiplicity of views. Whether these different UML views are unified, integrated, correlated or merely co–located is for others to dispute. We also seek to support multiple views, but are also in no doubt that there must be sound, well defined relations between such views.

We thus report on ways and means of integrating formal techniques such as RAISE (RSL) [58,59], Petri Nets [56,62,37,61,41], Message and Live Sequence Charts [42,43,44,64,13], Statecharts [23,24,26,27], RAISE with Timing (TRSL) [18,45,46], and TRSL with Duration Calculus [79,30]. In this way one achieves a firm foundation for combined uses of these formal development techniques, one that can be believably deployed for as wide a spectrum, or even a wider spectrum of software (and hardware) development, as, respectively than UML.

Keywords

Formal Method Sensor State Class Diagram Formal Technique Denotational Semantic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abrial, J.-R.: The B Book: Assigning Programs to Meanings. Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  2. 2.
    Andersen, S., Holmslykke, S.: “UML–ised” Formal Tools for the RAISE Tool Set. M.Sc. Thesis Project, Department of Computer Science and Engineering, Institute of Informatics and Mathematical Modelling, Technical University of Denmark, Building 322, Richard Petersens Plads, DK–2800 Kgs.Lyngby, Denmark, 2004–2005 2003. Pre–MSc Thesis project: Spring 2004 Lyngby; main M.Sc. Thesis Project Fall/Winter 2004/2005 UNU–IIST Macau / NUS SingaporeGoogle Scholar
  3. 3.
    Anot, A.J.: Using Z Specification for Railway Interlocking Safety. Periodica Polytechnica. Transport Engineering Series vol. 28(1-2), pp. 39–53, Department of Information and Safety Systems Faculty of Electrical Engineering University of Zilina, Vel’ký diel, Zilina 010 26, Slovak Republic (2000)Google Scholar
  4. 4.
    Berthelot, G., Petrucci, L.: Specification and validation of a concurrent system: an educational project. International Journal on Software Tools for Technology Transfer 3(4), 372–381 (2001); Special section on the practical use of high-level Petri NetsMATHGoogle Scholar
  5. 5.
    Billington, J., Janczura, C.: Removing Deadlock from a Railway Network Specification. In: Australian Engineering Mathematics Conference (AEMC 1996), Sydney, Australia, July 1996, pp. 193–200 (1996) (Australian Engineering Mathematical Society ?)Google Scholar
  6. 6.
    Bjørner, D.: Formal Software Techniques in Railway Systems. In: Schnieder, E. (ed.) 9th IFAC Symposium on Control in Transportation Systems, Technical University, Braunschweig, Germany, June 13-15, pp. 1–12 (2000), VDI/VDE-Gesellschaft Mess– und Automatisieringstechnik, VDI-Gesellschaft für Fahrzeug– und Verkehrstechnik (invited talk)Google Scholar
  7. 7.
    Bjørner, D.: Dynamics of Railway Nets: On an Interface between Automatic Control and Software Engineering. In: Tsugawa, S., Aoki, M. (eds.) CTS 2003: 10th IFAC Symposium on Control in Transportation Systems, Oxford, UK, August 4-6, Elsevier Science Ltd, Amsterdam (2003), Symposium held at Tokyo, JapanGoogle Scholar
  8. 8.
    Bjørner, D., George, C.W., Prehn, S.: Computing Systems for Railways — A Rôle for Domain Engineering. Relations to Requirements Engineering and Software for Control Applications. In: Kraemer, B., Petterson, J.C. (eds.) Integrated Design and Process Technology, P.O.Box 1299, Grand View, Texas 76050-1299, USA, June 24-28 (2002), Society for Design and Process ScienceGoogle Scholar
  9. 9.
    Bjørner, D., George, C.W., Prehn, S.: Scheduling and Rescheduling of Trains. In: Hinchey, M.G., Bowen, J.P. (eds.) Industrial Strength Formal Methods in Practice, ch. 8, pp. 157–184. Springer, London (1999), FACITGoogle Scholar
  10. 10.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1998)Google Scholar
  11. 11.
    Büssow, R., Geisler, R., Klar, M.: Specifying safety-critical embedded systems with Statecharts and Z: A case study. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 71–87. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  12. 12.
    CCITT. CCITT Recommendation Z.120: Message Sequence Chart (MSC) (1992) Google Scholar
  13. 13.
    Damm, W., Harel, D.: LSCs: Breathing life into Message Sequence Charts. Formal Methods in System Design 19, 45–80 (2001); Early version appeared as Weizmann Institute Tech. Report CS98-09 (April 1998); An abridged version appeared in Proc. 3rd IFIP Int. Conf. on Formal Methods for Open Object-based Distributed Systems (FMOODS 1999), pp. 293–312. Kluwer, Dordrecht (1999)MATHCrossRefGoogle Scholar
  14. 14.
    Fischer, C.: CSP-OZ: A combination of Object-Z and CSP. Technical Report TRCF-97-2, Universität Oldenburg (1997)Google Scholar
  15. 15.
    Fitzgerald, J., Larsen, P.G.: Software System Design: Formal Methods into Practice. Cambridge University Press, The Edinburgh Building (1997) (to appear)Google Scholar
  16. 16.
    Funes, A., George, C.W.: Formal Foundations in RSL for UML Class Diagrams. Research Report 253, UNU/IIST, P.O. Box 3058, Macau. In: Favre, L. (ed.) Published as chapter VIII Formalizing UML Class Diagrams of UML and the Unified Process (May 2002)Google Scholar
  17. 17.
    Galloway, A.: Integrated Formal Methods. PhD thesis, University of Teeside (1996)Google Scholar
  18. 18.
    George, C.W., Xia, Y.: An Operational Semantics for Timed RAISE. In: Woodcock, J.C.P., Davies, J., Wing, J.M. (eds.) FM 1999. LNCS, vol. 1709, pp. 1008–1027. Springer, Heidelberg (1999)Google Scholar
  19. 19.
    Grieskamp, W., Heiseland, M., Dörr, H.: Specifying embedded systems with Statecharts and Z: An agenda for cyclic software components. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 88–106. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  20. 20.
    Object Management Group. OMG Unified Modelling Language Specification. OMG/UML, http://www.omg.org/uml/, version 1.5 edition (March 2003), www.omg.org/cgi-bin/doc?formal/03-03-01
  21. 21.
    Hansen, K.M.: Validation of a railway interlocking model. In: Naftalin, M., Bertrán, M., Denvir, T. (eds.) FME 1994. LNCS, vol. 873, pp. 582–601. Springer, Heidelberg (1994)Google Scholar
  22. 22.
    Hansen, K.M.: Linking Safety Analysis to Safety Requirements. PhD thesis, Department of Computer Science, Technical University of Denmark, Building 344, DK-2800 Lyngby, Denmark (August 1996)Google Scholar
  23. 23.
    Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8(3), 231–274 (1987)MATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Harel, D.: On visual formalisms. Communications of the ACM 33(5), 514–530 (1988)CrossRefMathSciNetGoogle Scholar
  25. 25.
    Harel, D., Gery, E.: Executable object modeling with Statecharts. IEEE Computer 30(7), 31–42 (1997)Google Scholar
  26. 26.
    Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., Trakhtenbrot, M.B.: STATEMATE: A working environment for the development of complex reactive systems. Software Engineering 16(4), 403–414 (1990)CrossRefGoogle Scholar
  27. 27.
    Harel, D., Naamad, A.: The STATEMATE semantics of Statecharts. ACM Transactions on Software Engineering and Methodology (TOSEM) 5(4), 293–333 (1996)CrossRefGoogle Scholar
  28. 28.
    Haxthausen, A., Gjaldbæk, T.: Modelling and Verification of Interlocking Systems for Railway Lines. In: 10th IFAC Symposium on Control in Transportation Systems, Tokyo, Japan, August 4-6 (2003)Google Scholar
  29. 29.
    Haxthausen, A.: Some approaches for integration of specification techniques (2000) (invited extended abstract)Google Scholar
  30. 30.
    Haxthausen, A., Xia, Y.: Linking DC together with TRSL. In: Grieskamp, W., Santen, T., Stoddart, B. (eds.) IFM 2000. LNCS, vol. 1945, pp. 25–44. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  31. 31.
    Heymans, P., Bontemps, Y.: Turning high-level Live Sequence Charts into automata. In: Systa, T., Zundorf, A. (eds.) Proceedings of the First International Workshop on Scenarios and State Machines (SCESM) (ICSE 2002 workshop) (2002)Google Scholar
  32. 32.
    Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  33. 33.
    Hoare, C.A.R.: Communicating Sequential Processes. C.A.R. Hoare Series in Computer Science.International. Prentice-Hall, Englewood Cliffs (1985)MATHGoogle Scholar
  34. 34.
    ITU-T. ITU-T Recommendation Z.120: Message Sequence Chart (MSC) (1996) Google Scholar
  35. 35.
    ITU-T. ITU-T Recommendation Z.120: Message Sequence Chart (MSC) (1999) Google Scholar
  36. 36.
    Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999)Google Scholar
  37. 37.
    Jensen, K.: Coloured Petri Nets – Basic Concepts, Analysis Methods and Practical Use, Basic Concepts. EATCS Monographs on Theoretical Computer Science, vol. 1. Springer, Heidelberg (1992)Google Scholar
  38. 38.
    Kindler, E., Reisig, W., Volzer, H., Walter, R.: Petri net based verification of distributed algorithms: An example. Formal Aspects of Computing 9(4), 409–424 (1997)MATHCrossRefGoogle Scholar
  39. 39.
    King, T.: Formalising British Rail’s Signalling Rules. In: Naftalin, M., Bertrán, M., Denvir, T. (eds.) FME 1994. LNCS, vol. 873, pp. 45–54. Springer, Heidelberg (1994)Google Scholar
  40. 40.
    Klose, J., Wittke, H.: An automata based interpretation of Live Sequence Charts. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 512–527. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  41. 41.
    Kristensen, L.M., Christensen, S., Jensen, K.: The practitioner’s guide to Coloured Petri Nets. International Journal on Software Tools for Technology Transfer 2(2), 98–132 (1998)MATHCrossRefGoogle Scholar
  42. 42.
    Ladkin, P.B., Leue, S.: Analysis of Message Sequence Charts. Technical Report IAM 92-013, Institute for Informatics and Applied Mathematics, University of Berne, Bern, Switzerland (1992)Google Scholar
  43. 43.
    Ladkin, P.B., Leue, S.: What do Message Sequence Charts mean? In: FORTE, pp. 301–316 (1993)Google Scholar
  44. 44.
    Ladkin, P.B., Leue, S.: Interpreting Message Flow Graphs. Formal Aspects of Computing 7(5), 473–509 (1995)MATHCrossRefGoogle Scholar
  45. 45.
    Li, L., He, J.: A denotational semantics of Timed RSL using Duration Calculus. Research Report 168, UNU/IIST, P.O.Box 3058, Macau (1999); Published in Proceedings of The Sixth International Conference on Real-Time Computing Systems and Applications (RTCSA 1999), pp. 492-503. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  46. 46.
    Li, L., He, J.: Towards a denotational semantics of Timed RSL using Duration Calculus. Research Report 161, UNU/IIST, P.O.Box 3058, Macau (April 1999); Accepted for publication by Chinese Journal of Advanced Software ResearchGoogle Scholar
  47. 47.
    Lindegaard, M.P., Viuf, P., Haxthausen, A.: Modelling Railway Interlocking Systems. In: Proceedings of the 9th IFAC Symposium on Control in Transportation Systems 2000, Braunschweig, Germany, June 13-15, pp. 211–217 (2000)Google Scholar
  48. 48.
    Madsen, C.K.: Integration of Specification Techniques. M.Sc. Thesis Project, Department of Computer Science and Engineering, Institute of Informatics and Mathematical Modelling, Technical University of Denmark, Building 322, Richard Petersens Plads, DK–2800 Kgs.Lyngby, Denmark, November 30 (2003)Google Scholar
  49. 49.
    Madsen, C.K.: Study of Graphical and Temporal Specification Techniques. Pre–Thesis Project, Department of Computer Science and Engineering, Institute of Informatics and Mathematical Modelling, Technical University of Denmark, Building 322, Richard Petersens Plads, DK–2800 Kgs.Lyngby, Denmark (June 2003)Google Scholar
  50. 50.
    Mauw, S., Reniers, M.A.: An algebraic semantics of basic Message Sequence Charts. The Computer Journal 37(4), 269–277 (1994)CrossRefGoogle Scholar
  51. 51.
    Milner, R.: Communication and Concurrency. C.A.R. Hoare Series in Computer Science. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle Scholar
  52. 52.
    Morley, M.J.: Modelling British Rail’s Interlocking Logic: Geographic Data Correctness. Technical Report ECS-LFCS-91-186, University of Edinburgh (1991)Google Scholar
  53. 53.
    Morley, M.J.: Safety in railway signalling data: A behavioural analysis. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780, pp. 465–474. Springer, Heidelberg (1994)Google Scholar
  54. 54.
    Morley, M.J.: Safety Assurance in Interlocking Design. PhD thesis, University of Edinburgh (1996)Google Scholar
  55. 55.
    Morley, M.J.: Safety-level communication in railway interlockings. Science of Computer Programming 29(1-2), 147–170 (1997)CrossRefGoogle Scholar
  56. 56.
    Petri, C.A.: Kommunikation mit Automaten. Bonn: Institut für Instrumentelle Mathematik, Schriften des IIM Nr. 2 (1962)Google Scholar
  57. 57.
    Pěnička, M., Strupchanska, A.K., Bjørner, D.: Train Maintenance Routing. In: Tarnai, G., Schnieder, E. (eds.) FORMS 2003: Symposium on Formal Methods for Railway Operation and Control Systems, Conf. held at Techn.Univ. of Budapest, Hungary, Germany, L’Harmattan Hongrie, May 15-16 (2003)Google Scholar
  58. 58.
    RAISE Language Group. The RAISE Specification Language. BCS Practitioner Series. Prentice Hall Int. (1992)Google Scholar
  59. 59.
    RAISE Method Group. The RAISE Development Method. BCS Practitioner Series. Prentice Hall Int. (1995)Google Scholar
  60. 60.
    Reggio, G., Repetto, L.: Casl-Chart: A combination of Statecharts and of the algebraic specification language Casl. Technical Report DISI-TR-00-2, DISI, Università di Genova (2000)Google Scholar
  61. 61.
    Reisig, W.: Elements of Distributed Algorithms: Modelling and Analysis with Petri Nets. Springer, Heidelberg (1998)MATHGoogle Scholar
  62. 62.
    Reisig, W.: A Primer in Petri Net Design. Springer, Heidelberg (1992)MATHGoogle Scholar
  63. 63.
    Reniers, M.: Static semantics of Message Sequence Charts (1995)Google Scholar
  64. 64.
    Reniers, M.A.: Syntax requirements of Message Sequence Charts. In: Braek, R., Sarma, A. (eds.) Proceedings of the 7th SDL Forum (1995)Google Scholar
  65. 65.
    Rhode, M.-G.: Semantic Integration of Heterogeneous Software Specifications. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Heidelberg (2004)Google Scholar
  66. 66.
    Roscoe, A.W.: Theory and Practice of Concurrency. C.A.R. Hoare Series in Computer Science. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
  67. 67.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1998)Google Scholar
  68. 68.
    Schneider, S.: Concurrent and Real–time Systems — The CSP Approach, January 2000. Worldwide Series in Computer Science. John Wiley & Sons, Ltd., Baffins Lane (2000)Google Scholar
  69. 69.
    Simpson, A.C., Woodcock, J.C.P., Davies, J.W.: The mechanical verification of Solid State Interlocking geographic data. In: Groves, L., Reeves, S. (eds.) Proceedings of Formal Methods Pacific, Wellington, New Zealand, July 9-11, pp. 223–242. Springer, Heidelberg (1997)Google Scholar
  70. 70.
    Spivey, J.M.: Understanding Z: A Specification Language and its Formal Semantics, January 1988. Cambridge Tracts in Theoretical Computer Science, vol. 3. Cambridge University Press, Cambridge (1988)MATHGoogle Scholar
  71. 71.
    Strupchanska, A.K., Pěnička, M., Bjørner, D.: Railway Staff Rostering. In: FORMS 2003: Symposium on Formal Methods for Railway Operation and Control Systems, L’Harmattan Hongrie, May 15-16 (2003)Google Scholar
  72. 72.
    van der Aalst, W.M.P., Odijk, M.A.: Analysis of railway stations by means of interval timed colored Petri Nets. Real-Time Systems 9(3), 241–263 (1995)CrossRefGoogle Scholar
  73. 73.
    Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modeling with UML, October 13, p. 144. Addison-Wesley Publ. Co., Reading (1998), ASIN: 0201379406, PaperbackGoogle Scholar
  74. 74.
    Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA, 2nd edn., p. 240. August 29, Addison-Wesley Publ. Co., Reading (2003) ISBN: 0321179366, PaperbackGoogle Scholar
  75. 75.
    Weber, M.: Combining Statecharts and Z for the design of safety-critical control systems. In: Gaudel, M.-C., Woodcock, J.C.P. (eds.) FME 1996. LNCS, vol. 1051, pp. 307–326. Springer, Heidelberg (1996)Google Scholar
  76. 76.
    Woodcock, J.C.P., Davies, J.: Using Z: Specification, Proof and Refinement. Prentice Hall International Series in Computer Science (1996)Google Scholar
  77. 77.
    Woodcock, J.C.P., Hughes, A.: Unifying theories of parallel programming. In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 24–37. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  78. 78.
    Yi, W.: A Calculus of Real Time Systems. PhD thesis, Department of Computer Sciences, Chalmers University of Technology, Göteborg, Sweden (1991)Google Scholar
  79. 79.
    Zhou, C., Hansen, M.R.: Duration Calculus: A Formal Approach to Real–time Systems. Monographs in Theoretical Computer Science. An EATCS Series–Verlag. Springer, Heidelberg (2004)MATHGoogle Scholar
  80. 80.
    Zhou, C., Hoare, C.A.R., Ravn, A.P.: A Calculus of Durations. Information Proc. Letters 40(5) (1992)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Dines Bjørner
    • 1
  • Chris W. George
    • 2
  • Anne E. Haxthausen
    • 1
  • Christian Krog Madsen
    • 3
  • Steffen Holmslykke
    • 1
  • Martin Pěnička
    • 4
  1. 1.Computer Science and Engineering Dept., Informatics and Mathematical Modelling Inst.Technical University of DenmarkKgs.LyngbyDenmark
  2. 2.Director ai., UNU/IISTMacau SARChina
  3. 3.Rovsing A/SSkovlundeDenmark
  4. 4.Faculty of TransportationCzech Technical UniversityPrague 1The Czech Republic

Personalised recommendations