Specification and Analysis of Real-Time Systems Using CSP and Petri Nets

Formal methods such as CSP (Communicating Sequential Processes) are widely used for reasoning about concurrency, communication, safety, and liveness issues. Some of these models have been extended to permit reasoning about real-time constraints. Yet, the research in formal specification and verification of complex systems has often ignored the specification of stochastic properties of the system under study. We are developing methods and tools to permit stochastic analyses of CSP-based specifications. Our basic objective is to evaluate candidate design specifications by converting formal systems descriptions into the information needed for analysis. In doing so, we translate a CSP-based specification into a Petri net which is analyzed to predict system behavior in terms of reliability and performability as a function of observable parameters (e.g., topology, fault-tolerance, deadlines, communications, and failure categories). This process can give insight into further refinements of the original specification (i.e., identify potential failure processes and recovery actions). Relating the parameters needed for performability analysis to user level specifications is essential for realizing systems that meet user needs in terms of cost, functionality, and other nonfunctional requirements. An example translation is given (in addition, some general examples of CSP → Petri net translations can be viewed in Appendix A). Based on this translation, we report both the discrete and continuous time Markovian analysis which provides reliability predictions for the candidate specification. The term “CSP-based” is used here to distinguish between the notation of Hoare’s original CSP and our textual representations which are similar to occum. Our CSP-based grammar does not restrict consideration of the properties of CSP (traces, refusal sets, livelock, etc.), but we are not considering those properties. We are only interested that the structural properties are preserved. We define performability as a measure of the system’s ability in meeting deadlines, in the presence of failures and variance in task execution times.

[1]  Ernst-Rüdiger Olderog,et al.  TCSP: Theory of Communicating Sequential Processes , 1986, Advances in Petri Nets.

[2]  Alexander D. Stoyenko,et al.  The evolution and state-of-the-art of real-time languages , 1992 .

[3]  Jonathan S. Ostroff,et al.  Formal methods for the specification and design of real-time safety critical systems , 1992, J. Syst. Softw..

[4]  T.C.K. Chou,et al.  Performance/Availability Model of Shared Resource Multiprocessors , 1980, IEEE Transactions on Reliability.

[5]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[6]  Kishor S. Trivedi,et al.  SPNP: stochastic Petri net package , 1989, Proceedings of the Third International Workshop on Petri Nets and Performance Models, PNPM89.

[7]  Kishor S. Trivedi,et al.  Reliability estimation of fault-tolerant systems: tools and techniques , 1990, Computer.

[8]  Nancy A. Lynch,et al.  The generalized railroad crossing: a case study in formal verification of real-time systems , 1994, 1994 Proceedings Real-Time Systems Symposium.

[9]  Marco Ajmone Marsan,et al.  GSPN models of multiserver multiqueue systems , 1989, Proceedings of the Third International Workshop on Petri Nets and Performance Models, PNPM89.

[10]  Krishna M. Kavi,et al.  Specification and analysis of stochastic properties for concurrent systems expressed using csp , 1996 .

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

[12]  Robert S. Swarz,et al.  Reliable Computer Systems: Design and Evaluation , 1992 .

[13]  Giovanni Chiola,et al.  A Software Package for the Analysis of Generalized Stochastic Petri Net Models , 1985, PNPM.

[14]  Constance L. Heitmeyer,et al.  Comparing different approaches for specifying and verifying real-time systems , 1993 .

[15]  Krishna M. Kavi,et al.  Reliability analysis of CSP specifications - A new method using Petri nets , 1995 .

[16]  Ryszard Janicki,et al.  Specification and Analysis of Concurrent Systems , 1992, EATCS Monographs in Theoretical Computer Science.

[17]  Krithi Ramamritham,et al.  Tutorial on hard real-time systems , 1989 .

[18]  John F. Meyer,et al.  Performability Evaluation of the SIFT Computer , 1980, IEEE Transactions on Computers.

[19]  Hee Yong Youn,et al.  A performability model for soft real-time systems , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

[20]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.