1991). Concurrent Programming: Principles and Practice. Redwood City, CA: Benjamin/Cummings Publishing Company.
(1971). PORTS: a method for dynamic interprogram communication and job control. Proceedings AFIPS SJCC Computer Conference, , 485–489.
(1990). Principles of Concurrent and Distributed Programming. Prentice-Hall International Series in Computer Science.
(1986). Object-oriented development. IEEE Transactions on Software Engineering SE-12, (February), 211–221.
(2000). Java PathFinder – Second Generation of a Java Model Checker. Workshop on Advances in Verification.
, , and (1975). The programming language Concurrent Pascal. IEEE Transactions on Software Engineering SE-1, (June), 199–206.
(2002). The Origins of Concurrent Programming: From Semaphores to Remote Procedure Calls. Springer-Verlag.
(1989b). How to write parallel programs: a guide for the perplexed. ACM Computing Surveys 21, (September), 323–358.
and (CCITT (1993). CCITT High Level Language (CHILL) Recommendation Z200. Geneva: International Telecommunication Union ITU.
1984). The drinking philosophers problem. ACM Transactions on Programming Languages and Systems 6, (October), 632–646.
and (1991). Parallel algorithm design for workstation clusters. Software: Practice and Experience 21, (March), 235–250.
and (1999). Checking safety properties using compositional reachability analysis. ACM Transactions on Software Engineering and Methodology (TOSEM) 8, (January), 49–78.
and (Ciancarini,P. and Hankin,C. (eds.) (1996). Coordination Languages and Models. Proceedings of Coordination '96, LNCA 1061, Berlin: Springer-Verlag.
1986). Automatic verification of finite state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems 8, (April), 626–643.
, and (1996). Formal methods: state of the art and future directions. ACM Computing Surveys 28, , 626–643.
, , et al. (1996). Strategic directions in concurrency research. ACM Computing Surveys 28, , 607–625.
, , et al. (2002). FLAVERS: a finite state verification technique for software systems. IBM Systems Journal 41, , 140–165.
, and (2000). Bandera: Extracting Finite-State Models from Java Source Code. Proceedings of 22nd IEEE/ACM International Conference on Software Engineering (ICSE-2000), Limerick, Ireland, 439–448.
, , , et al. (1978). An exercise in program design using SIMULA class invariants. Software: Practice and Experience 8, (May–June), 355–369.
and (De Nicola,Rocco, Ferrari,Gianluigi and Meredith,Greg (eds.) (2004). Coordination Models and Languages. 6th International Conference, COORDINATION 2004, Pisa, Italy, Proceedings, LNCS 2949, Berlin: Springer-Verlag.
Department of Defense (1983). Reference Manual for the Ada Programming Language. New York: Springer-Verlag.
1965). Solution of a problem in concurrent programming control. Communications of the ACM 8, (September), 569.
(1968a). Cooperating sequential processes. In F.Genuys (ed.) Programming Languages, 43–112. New York: Academic Press.
(1972a). A class of allocation strategies inducing bounded delays only. AFIPS Spring Joint Computer Conference SJCC, 933–936.
(1972b). Hierarchical ordering of sequential processes. In C.A.R.Hoare and R.H.Perrott (eds.) Operating System Techniques. New York: Academic Press.
(1999). Patterns in Property Specifications for Finite-State Verification. Proceedings of the 21st International Conference on Software Engineering (ICSE'99), Los Angeles (May).
, and (Garlan,D. and Le Metayer,D. (eds.) (1997). Coordination Languages and Models. Proceedings of the 2nd International Conference, Coordination'97, LNCS 1282, Berlin: Springer-Verlag.
1985). Generative communication in Linda. ACM Transactions on Programming Languages and Systems 7, (January), 80–112.
(1999). Checking Progress in Concurrent Systems. 7th ACM SIGSOFT Symposium on the Foundations of Software Engineering/7th European Software Engineering Conference (FSE/ESEC'99), Toulouse, Springer-Verlag, 511–528.
, and (2002). From states to transitions: improving translation of LTL formulae to Büchi automata. FORTE 2002, 308–326.
and (2003). Fluent Model Checking for Event-Based Systems. Proceedings of the 4th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2003), Helsinki, Finland (September).
and (1989). Temporal logic. In A.Thayse (ed.) From Modal Logic to Deductive Databases. John Wiley and Sons.
and (1987). Statecharts: a visual formalism for complex systems. Science of Computer Programming (July), 231–274.
(1990). STATEMATE: a working environment for the development of complex reactive systems. IEEE Transactions on Software Engineering SE-16, (April), 403–414.
, , , , , , and (2000). Synthesizing State-Based Object Systems from LSC Specifications. 5th International Conference on Implementation and Application of Automata (CIAA'2000), Springer-Verlag.
and (2003). Come, Let's Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer-Verlag.
and (2000). Model checking Java programs using Java PathFinder. International Journal on Software Tools for Technology Transfer 2, , 366–381.
and (2003). Software Verification with Blast. Proceedings of the Tenth International Workshop on Model Checking of Software (SPIN), LNCS 2648, Berlin: Springer-Verlag, 235–239.
, , and (1974). Monitors: an operating system structuring concept. Communications of the ACM 17, (October), 549–557.
(1991). Design and Validation of Computer Protocols. Englewood Cliffs, NJ: Prentice-Hall International.
(2002). An automated verification method for distributed systems software based on model extraction. IEEE Transactions on Software Engineering SE-28, , 364–377.
and (INMOS Ltd. (1988a). OCCAM 2 Reference Manual. Prentice-Hall International Series in Computer Science.
ISO/IEC (1988). LOTOS: Formal description technique based on the temporal ordering of observational behaviour. International Standard 9074. Geneva: International Organization for Standardization – Information Processing Systems – Open Systems Interconnection.
ITU (1996). Message Sequence Charts (MSC'96). Recommendation Z.120. Telecommunication Standardisation Sector (ITU).
Jacquet,Jean-Marie and Picco,Gian Pietro (eds.) (2005). Coordination Models and Languages. 7th International Conference, COORDINATION 2005, Namur, Belgium, Proceedings, LNCS 3454, Berlin: Springer-Verlag.
Joseph,M. (ed.) (1996). Real-Time Systems: Specification, Verification and Analysis. Prentice-Hall International Series in Computer Science.
1990). CCS expressions, finite state processes, and three problems of equivalence. Information and Computation 86, (May), 43–68.
and (1979). Invariants for Specifications. Proceedings of 4th IEEE International Conference on Software Engineering (ICSE'79), Munich, 183–193.
and (1998). Analysing dynamic change in distributed software architectures. IEE Proceedings – Software 145, (October), 146–154.
and (1977). Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering SE-3, (March), 125–143.
(1980). "Sometime" is Sometimes "Not Never": On the Temporal Logic of Programs. Proceedings of the 7th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Las Vegas, 174–185.
(1980). Experience with processes and monitors in Mesa. Communications of the ACM 23, (February), 105–117.
and (1999). Concurrent Programming in Java™: Design Principles and Patterns (2nd edition). Addison-Wesley.
(1994). Regis: a constructive development environment for distributed programs. Distributed Systems Engineering Journal 1, , Special Issue on Configurable Distributed Systems, 304–312.
, and (1995). Specifying Distributed Software Architectures. Proceedings of 5th European Software Engineering Conference (ESEC'95), Sitges (September), LNCS 989, Berlin: Springer-Verlag, 137–153.
, , and (1997). Analysing the Behaviour of Distributed Software Architectures: A Case Study. Proceedings of 5th IEEE Workshop on Future Trends in Distributed Computing Systems (FTDCS'97), Tunisia (October), 240–247.
, and (2000). Graphical Animation of Behaviour Models. Proceedings of 22nd IEEE/ACM International Conference on Software Engineering (ICSE-2000), Limerick, Ireland, 499–508.
, , and (1984). An early program proof by Alan Turing. Annals of the History of Computing 6, , 139–143.
and (1981). Myths about the mutual exclusion problem. Information Processing Letters 12, (June), 115–116.
(1981). Petri Net Theory and the Modeling of Systems. Englewood Cliffs, NJ: Prentice-Hall International.
(1977). The Temporal Logic of Programs. Proceedings of the 18th IEEE Symposium on the Foundations of Computer Science (FOCS-77), October/November, 46–57.
(1990). Connecting tools using message passing in the Field Environment. IEEE Software 7, 4 (July), 57–66.
(1998). The Theory and Practice of Concurrency. Prentice-Hall International Series in Computer Science.
(1991). Object-Oriented Modeling and Design. Englewood Cliffs, NJ: Prentice-Hall International.
, , , and (1982). On the inevitable intertwining of specification and implementation. Communications of the ACM 25, (July), 438–440.
and (1949). Checking a large routine. In the Report of a Conference on High Speed Automatic Calculating Machines, pp. 67–69.
(2003). Synthesis of behavioral models from scenarios. IEEE Transactions on Software Engineering SE-29, (February), 99–115.
, and (2004). Incremental elaboration of scenario-based specifications and behaviour models using implied scenarios. ACM Transactions on Software Engineering and Methodology (TOSEM) 13, (January), 37–85.
, and (2001). Branching vs. Linear Time: Final Showdown. Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 2031, Berlin: Springer-Verlag, 1–22.
(1979). Pascal-Plus: another language for modular multiprogramming. Software: Practice and Experience , 947–957.
and (3.129.26.108