The Specification and Verified Decomposition of System Requirements Using CSP

A formal method for decomposing the critical requirements of a system into requirements of its component processes and a minimal, possibly empty, set of synchronization requirements is described. The trace model of Hoare's communicating sequential processes (CSP) is the basis for the formal method. The method is applied to an abstract voice transmitter and describes the role that the EHDM verification system plays in the transmitter's decomposition is described. In combination with other verification techniques, it is expected that this method will promote the development of more trustworthy systems. >

[1]  Donald I. Good,et al.  Principles of proving concurrent programs in Gypsy , 1979, POPL '79.

[2]  J. Jacob,et al.  On the derivation of secure components , 1989, Proceedings. 1989 IEEE Symposium on Security and Privacy.

[3]  G. V. Collis,et al.  Occam as a hardware description language , 1987, Softw. Eng. J..

[4]  Stephen D. Brookes,et al.  On the Relationship of CCS and CSP , 1983, ICALP.

[5]  Daryl McCullough,et al.  Noninterference and the composability of security properties , 1988, Proceedings. 1988 IEEE Symposium on Security and Privacy.

[6]  Tony Hoare Specifications‚ Programs and Implementations , 1982 .

[7]  FrancezNissim,et al.  A Proof System for Communicating Sequential Processes , 1980 .

[8]  John McLean Using Trace Specifications for Program Semantics and Verification. , 1987 .

[9]  Per Brinch Hansen The Joyce language report , 1989, Softw. Pract. Exp..

[10]  C. A. R. Hoare Algebraic specifications and proofs for communicating sequential processes , 1987 .

[11]  Christ T. Sennett High-Integrity Software , 1989, Software Science and Engineering.

[12]  Jeremy L. Jacob,et al.  Security specifications , 1988, Proceedings. 1988 IEEE Symposium on Security and Privacy.

[13]  Roy D. Dowsing Simulating hardware structures in occam , 1985, Softw. Microsystems.

[14]  Amir Pnueli,et al.  A Linear-History Semantics for Languages for Distributed Programming , 1984, Theor. Comput. Sci..

[15]  B. J. Curry Language-based architecture eases system design. III. (Occam) , 1984 .

[16]  Corporate Inmos Limited Communicating Process Architecture , 1989 .

[17]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[18]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[19]  C. A. R. Hoare A Calculus of Total Correctness for Communicating Processes , 1981, Sci. Comput. Program..

[20]  John McLean,et al.  A Formal Method for the Abstract Specification of Software , 1984, JACM.

[21]  Stephen D. Brookes,et al.  A Semantics and Proof System for Communicating Processes , 1983, Logic of Programs.

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

[23]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[24]  A. W. Roscoe Denotational Semantics for occam , 1984, Seminar on Concurrency.

[25]  Robert E. Milne,et al.  The formal description technique LOTOS : By P.H.J. van Eijk, C.A. Vissers and M. Diaz, eds. North-Holland, Amsterdam, Netherlands, 1989, Price $102.50 (hardback), ISBN 0-444-87267-1. , 1990 .

[26]  Willem P. de Roever,et al.  Compositionality and Concurrent Networks: Soundness and Completeness of a Proofsystem , 1985, ICALP.

[27]  Michel Diaz,et al.  Formal Description Technique Estelle: Results of the Esprit Sedos Project , 1989 .

[28]  C. A. R. Hoare,et al.  A Model for Communicating Sequential Processes , 1980, On the Construction of Programs.

[29]  Howard Barringer A Survey of Verification Techniques for Parallel Programs , 1985, Lecture Notes in Computer Science.

[30]  Jozef Hooman,et al.  The Quest Goes on: A Survey of Proofsystems for Partial Correctness of CSP , 1986, Current Trends in Concurrency.

[31]  Jan L. A. van de Snepscheut,et al.  Trace Theory and VLSJ Design , 1985, Lecture Notes in Computer Science.

[32]  Willem P. de Roever,et al.  A Proof System for Communicating Sequential Processes , 1980, ACM Trans. Program. Lang. Syst..

[33]  J. C. P. Woodcock,et al.  Transaction processing primitives and CSP , 1987 .

[34]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[35]  A. W. Roscoe,et al.  An Improved Failures Model for Communicating Processes , 1984, Seminar on Concurrency.

[36]  C. A. R. Hoare,et al.  Partial Correctness of Communicating Sequential Processes , 1981, ICDCS.

[37]  David Lorge Parnas,et al.  Using traces to write abstract specifications for software modules , 1977 .