modular concurrent programming, IEEE Transactions on Software Engineering 3, 2 (March 1977), 156–159 Design Principles, in The Architecture of Concurrent Programs, Chapter 1 Design Principles, Prentice Hall, Englewood Cliffs, NJ, (July 1977), 3–14 Network: A multiprocessor program, IEEE Transactions on Software Engineering 4, 3 (May 1978), 194–199 Distributed processes: A concurrent programming concept, Communications of the ACM 21, 11 (November 1978), 934–941 Reproducible testing of monitors, Software: Practice and Experience 8, 6 (November–December), 721–729 A keynote address on concurrent programming, Keynote address for the IEEE Computer Software & Applications Conference, Chicago, IL, November 1978, Computer 12, 5 (May 1979), 50–56 The Design of Edison, Software: Practice and Experience 11, 4 (April 1981), 363–396 Joyce—A programming language for distributed systems, Software— Practice and Experience 17, 1 (January 1987), 29–50 The Joyce Language Report, Software: Practice and Experience 19, 6 (June 1989), 553–578 A multiprocessor implementation of Joyce, Software: Practice and Experience 19, 6 (June 1989), 579–592 The nature of parallel programming, Inaugural Symposium at Syracuse University, Syracuse, NY, March 1989, In Natural and Artificial Parallel Computation, M.A. Arbib and J.A. Robinson, Eds. The MIT Press, Cambridge, MA, (1990), 31–46 The linear search rediscovered, Structured Programming 11, (1990), 53–55 Householder reduction of linear equations, ACM Computing Surveys 24, 2 (June 1992), 185–194 Monitors and Concurrent Pascal: A personal history, 2nd ACM Conference on the History of Programming Languages, Cambridge, MA, April 1993, In SIGPLAN Notices 28, 3 (March 1993), 1–35 Model programs for computational science: A programming methodology for multicomputers, Concurrency—Practice and Experience 5, 5 (August 1993), 407–423 Parallel Cellular Automata: A model program for computational science, Concurrency—Practice and Experience 5, 5 (August 1993), 425–448 Multiple-length division revisited: A tour of the minefield, Software: Practice and Experience 24, (June 1994), 579–601 SuperPascal—A publication language for parallel scientific computing, Concurrency—Practice and Experience 6, 5 (August 1994), 461–483 Interference control in SuperPascal—A block-structured language parallel language, The Computer Journal 37, 5 (1994), 399–406 Efficient parallel recursion, SIGPLAN Notices 30, 12 (December 1995), 9–16 The All-Pairs Pipeline, in Studies in Computational Science, Chapter 4: The all-pairs pipeline. Prentice Hall, Englewood Cliffs, NJ, (March 1995), 73–89 Balancing a Pipeline, in Studies in Computational Science, Chapter 5: Balancing a pipeline. Prentice Hall, Englewood Cliffs, NJ, (March 1995), 90–100 Java's insecure parallelism, SIGPLAN Notices 34, 4 (April 1999), 38–45 The evolution of operating systems, In Classic Operating Systems: From Batch Processing to Distributed Systems, P. Brinch Hansen, Ed.,