Communicating sequential processes
Communications of the ACM
Scenarios: A Model of Non-Determinate Computation
Proceedings of the International Colloquium on Formalization of Programming Concepts
Formal models of stepwise refinements of programs
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Should your specification language be typed
ACM Transactions on Programming Languages and Systems (TOPLAS)
How to Write a Healthiness Condition
IFM '00 Proceedings of the Second International Conference on Integrated Formal Methods
Assertions: A Personal Perspective
IEEE Annals of the History of Computing
Declarative specification and declarative programming
IWSSD '91 Proceedings of the 6th international workshop on Software specification and design
Convergent approximate solving of first-order constraints by approximate quantifiers
ACM Transactions on Computational Logic (TOCL)
HySAT: An efficient proof engine for bounded model checking of hybrid systems
Formal Methods in System Design
HSCC '08 Proceedings of the 11th international workshop on Hybrid Systems: Computation and Control
Efficient Proof Engines for Bounded Model Checking of Hybrid Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
The miracle of reactive programming
UTP'08 Proceedings of the 2nd international conference on Unifying theories of programming
Retrospective and prospective for unifying theories of programming
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
Models for data-flow sequential processes
CSP'04 Proceedings of the 2004 international conference on Communicating Sequential Processes: the First 25 Years
Hi-index | 48.22 |
Part I of this two-part paper presented a new semantics of programs. Each program is considered to be a predicate, in a restricted notation, that specifies the observable behavior of a computer executing the program. We considered a variety of notations, including assignment, composition (semicolon), deterministic choice (if), nondeterministic choice, definition (nonrecursive and recursive), and variable declaration. We did not consider any input or output notations, or concurrency; that is the subject of Part II. We assume the reader is familiar with Part I, so that we can build on ideas presented there.