Deadlock Detection Based on Automatic Code Generation from Graphical CSP Models

The paper describes a way of using standard formal analysis tools for checking deadlock freedom in graphical models for CSP descriptions of concurrent systems. The models capture specification of a possible concurrent implementation of a system to be realized. Building the graphical models and transforming them to a textual machine-readable form is supported by a CASE tool under development called gCSP. The model transformation allows checking certain important behavioral properties of a candidate implementation before it gets refined with application specific details and deployed in exploitation conditions. A short introduction to the modeling forms and tools is given before a demonstration of the checking procedure on two examples of (embedded) control systems is presented. These systems are modeled by a special class of CSP processes, for which a graphical mechanism for revealing and healing ill-posed concurrent compositions is prototyped too.

[1]  J. Bryan Scattergood The semantics and implementation of machine-readable CSP , 1998 .

[2]  G. H. Hilderink,et al.  Graphical modelling language for specifying concurrency based on CSP , 2003, IEE Proc. Softw..

[3]  B. C. O'Neill Parallel processing developments : WoTUG-19 ; Proceedings of the 19th Wrold Occam and Transputer User Group Technical Meeting, 31st March - 3ed April 1996, Nottingham, UK , 1996 .

[4]  Dusko S. Jovanovic,et al.  On properties of modeling control software for embedded control applications with CSP/CT framework ∗ ) , 2003 .

[5]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[6]  Peter H. Welch,et al.  Communicating Process Architectures 2012 , 2000 .

[7]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[8]  J. van Amerongen,et al.  Twente Hierarchical Embedded Systems Implementation by Simulation (Thesis) A structured approach to controller realisation on transputers , 1993 .

[9]  K.C.J. Wijbrans,et al.  The implementation of a transputer-based Rudder Roll Stabilization system (RRS) for ships using a CASE tool , 1991 .

[10]  Dusko S. Jovanovic,et al.  gCSP: A Graphical Tool for Designing CSP systems , 2004 .

[11]  Peter H. Welch,et al.  Process Oriented Design for Java: Concurrency for All , 2002, International Conference on Computational Science.

[12]  James Moores CCSP - A portable CSP-based run-time system supporting C and occam , 1999 .

[13]  Dusko S. Jovanovic,et al.  A Case Study for Tooling the Design Trajectory of Embedded Control Systems , 2002 .

[14]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[15]  Bruce Powel Douglass Real-Time Design Patterns , 1999 .

[16]  G. H. Hilderink,et al.  A mulitmodel robotic control law modelled and implemented with the CSP/CT framework , 2003 .

[17]  G. H. Hilderink,et al.  A distributed real-time Java system based on CSP , 1999, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[18]  Johannes F. Broenink,et al.  Redesign of the C++ Communicating Threads Library for Embedded Control Systems , 2004 .

[19]  Jeremy M. R. Martin,et al.  A Tool for Proving Deadlock Freedom , 1997 .

[20]  Peter H. Welch,et al.  Emulating Digital Logic using Transputer Networks (very High Parallelism = Simplicity = Performance) , 1987, PARLE.

[21]  Dusko JOVANOVIC,et al.  A Communicating Threads ( CT ) Case Study : JIWY 1 , 2002 .

[22]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[23]  Peter H. Welch,et al.  An Introduction to the Kent C++CSP Library , 2003 .

[24]  Peter H. Welch,et al.  The Kent retargetable occam compiler , 1996 .