Behaviour analysis and safety conditions: A case study in CML

  • Hanne Riis Nielson
  • Torben Amtoft
  • Flemming Nielson
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1382)


We describe a case study where novel program analysis technology has been used to pinpoint a subtle bug in a formally developed control program for an embedded system. The main technology amounts to first defining a process algebra (called behaviours) suited to the programming language used (in our case CML) and secondly to devise an annotated type and effect system for extracting behaviours from programs in a such a manner that an automatic inference algorithm can be developed. The case study is a control program developed for the “Karlsruhe Production Cell” and our analysis of the behaviours shows that one of the safety conditions fails to hold.


Embedded systems formal program development program analysis 


  1. 1.
    T. Amtoft, F. Nielson, and H. R. Nielson. Polymorphic subtyping for side effects. Book manuscript, DAIMI PB-529, Aarhus Univesity, 1997.Google Scholar
  2. 2.
    T. Amtoft, H. R. Nielson, and F. Nielson. Behaviour analysis for validating communication patterns. DAIMI PB-527, Aarhus University, 1997.Google Scholar
  3. 3.
    K. L. S. Gasser, F. Nielson, and H. R. Nielson. Systematic realisation of control flow analyses for CML. In Proceedings of ICFP'97, pages 38–51. ACM Press, 1997.Google Scholar
  4. 4.
    C. Lewerentz and T. Lindner. Formal Development of Reactive Systems, Case Study “Production Cell”. SLNCS vol 891, Springer Verlag, 1995.Google Scholar
  5. 5.
    R. Milner, M. Tofte, and R. Harper. The definition of Standard ML. MIT Press, 1990.Google Scholar
  6. 6.
    F. Nielson, H. R. Nielson, and C. L. Hankin. Principles of Program Analysis: Flows and Effects. To appear, 1999.Google Scholar
  7. 7.
    H. R. Nielson and F. Nielson. Higher-Order Concurrent Programs with Finite Communication Topology. In Proc. POPL '94, 1994.Google Scholar
  8. 8.
    H. R. Nielson and F. Nielson. Communication analysis for Concurrent ML. In ML with Concurrency, Monographs in Computer Science. Springer-Verlag, 1997.Google Scholar
  9. 9.
    J.H. Reppy. Concurrent ML: Design, application and semantics. In Proc. Functional programming, Concurrency, Simulation and Automated Reasoning, SLNCS 693, pages 165–19, 1993.Google Scholar
  10. 10.
    H. Rischel and H. Sun. Design and prototyping of real-time systems using CSP and CML. In Proc. 9th Euromicro Workshop on Real-Time Systems, pages 121–127. IEEE Computer Society Press, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Hanne Riis Nielson
    • 1
  • Torben Amtoft
    • 1
  • Flemming Nielson
    • 1
  1. 1.Computer Science DepartmentAarhus UniversityDenmark

Personalised recommendations