The Theory and Practice of Concurrency


Book Description

Since Professor Hoare's book Communicating Sequential Processes was first published, his notation has been extensively used for teaching and applying concurrency theory. The most significant development since then has been the emergence of tools to support the teaching and industrial application of CSP. This has turned CSP from a notation used mainly for toy examples into one which can and does support the description of industrial-sized problems. In order to understand the tools you need a good grasp of the fundamental concepts of CSP, therefore the book is, in the first instance, a text on the principles of the language rather than being a manual on how to apply its tools. The Theory and Practice of Concurrency is divided into 3 sections. Part I is a foundation course on CSP, covering essentially the same material as the Hoare book, except that most of the mathematical theory has been omitted. It introduces the ideas behind the operational, denotational and algebraic models of CSP. Parts II and III go into more detail about the theory and practice of CSP. Either of them would make a one semester course or though they are independent of each other. This book assumes no mathematical knowledge except for a basic understanding of sets, sequences and functions. Part I and III use no sophisticated mathematics, and the extra amount needed for Part II is contained within Appendix A (which introduces the theory of partial order and metric/restriction spaces). The book brings substantial new insights into the important subjects of computer security, fault tolerance, real-time modelling, communications protocols and distributed databases. Each of these is supported by a case study and guidance on how to apply automated analysis to verify systems.




Concurrency Theory


Book Description

Intheworldweliveinconcurrencyisthenorm.Forexample,thehumanbody isamassivelyconcurrentsystem,comprisingahugenumberofcells,allsim- taneously evolving and independently engaging in their individual biological processing.Inaddition,inthebiologicalworld,trulysequentialsystemsrarely arise. However, they are more common when manmade artefacts are cons- ered. In particular, computer systems are often developed from a sequential perspective. Why is this? The simple reason is that it is easier for us to think about sequential, rather than concurrent, systems. Thus, we use sequentiality as a device to simplify the design process. However, the need for increasingly powerful, ?exible and usable computer systems mitigates against simplifying sequentiality assumptions. A good - ample of this is the all-powerful position held by the Internet, which is highly concurrent at many di?erent levels of decomposition. Thus, the modern c- puter scientist (and indeed the modern scientist in general) is forced to think aboutconcurrentsystemsandthesubtleandintricatebehaviourthatemerges from the interaction of simultaneously evolving components. Over a period of 25 years, or so, the ?eld of concurrency theory has been involved in the development of a set of mathematical techniques that can help system developers to think about and build concurrent systems. These theories are the subject matter of this book.




CONCUR 2004 -- Concurrency Theory


Book Description

This book constitutes the refereed proceedings of the 15th International Conference on Concurrency Theory, CONCUR 2004, held in London, UK in August/September 2004. The 29 revised full papers presented together with 4 invited papers were carefully reviewed and selected from 134 submissions. Among the topics covered are concurrency related aspects of models of computation, semantic domains, process algebras, Petri nets, event structures, real-time systems, hybrid systems, decidability, model checking, verification techniques, refinement, term and graph rewriting, distributed programming, constraint logic programming, object-oriented programming, typing systems and algorithms, case studies, tools, and environments for programming and verification.




CONCUR 2002 - Concurrency Theory


Book Description

This book constitutes the refereed proceedings of the 13th International Conference on Concurrency Theory, CONCUR 2002, held in Brno, Czech Republic in August 2002.The 32 revised full papers presented together with abstracts of seven invited contributions were carefully reviewed and selected from 101 submissions. The papers are organized in topical sections on verification and model checking, logic, mobility, probabilistic systems, models of computation and process algebra, security, Petri nets, and bisimulation.




CONCUR 2000 - Concurrency Theory


Book Description

This volume contains the proceedings of the 11th International Conference on Concurrency Theory (CONCUR 2000) held in State College, Pennsylvania, USA, during 22-25 August 2000. The purpose of the CONCUR conferences is to bring together researchers, developers, and students in order to advance the theory of concurrency and promote its applications. Interest in this topic is continuously growing, as a consequence of the importance and ubiquity of concurrent systems and their - plications, and of the scienti?c relevance of their foundations. The scope covers all areas of semantics, logics, and veri?cation techniques for concurrent systems. Topics include concurrency related aspects of: models of computation, semantic domains, process algebras, Petri nets, event structures, real-time systems, hybrid systems, decidability, model-checking, veri?cation techniques, re?nement te- niques, term and graph rewriting, distributed programming, logic constraint p- gramming, object-oriented programming, typing systems and algorithms, case studies, tools, and environments for programming and veri?cation. The ?rst two CONCUR conferences were held in Amsterdam (NL) in 1990 and 1991. The following ones in Stony Brook (USA), Hildesheim (D), Uppsala (S), Philadelphia (USA), Pisa (I), Warsaw (PL), Nice (F), and Eindhoven (NL). The proceedings have appeared in Springer LNCS, as Volumes 458, 527, 630, 715, 836, 962, 1119, 1243, 1466, and 1664.




CONCUR 2008 - Concurrency Theory


Book Description

This book constitutes the refereed proceedings of the 19th International Conference on Concurrency Theory, CONCUR 2008, held in Toronto, Canada, August 19-22, 2008. The 33 revised full papers presented together with 2 tool papers were carefully reviewed and selected from 120 submissions. The topics include model checking, process calculi, minimization and equivalence checking, types, semantics, probability, bisimulation and simulation, real time, and formal languages.




Transactional Information Systems


Book Description

This book describes the theory, algorithms, and practical implementation techniques behind transaction processing in information technology systems.




Patterns for Parallel Programming


Book Description

The Parallel Programming Guide for Every Software Developer From grids and clusters to next-generation game consoles, parallel computing is going mainstream. Innovations such as Hyper-Threading Technology, HyperTransport Technology, and multicore microprocessors from IBM, Intel, and Sun are accelerating the movement's growth. Only one thing is missing: programmers with the skills to meet the soaring demand for parallel software. That's where Patterns for Parallel Programming comes in. It's the first parallel programming guide written specifically to serve working software developers, not just computer scientists. The authors introduce a complete, highly accessible pattern language that will help any experienced developer "think parallel"-and start writing effective parallel code almost immediately. Instead of formal theory, they deliver proven solutions to the challenges faced by parallel programmers, and pragmatic guidance for using today's parallel APIs in the real world. Coverage includes: Understanding the parallel computing landscape and the challenges faced by parallel developers Finding the concurrency in a software design problem and decomposing it into concurrent tasks Managing the use of data across tasks Creating an algorithm structure that effectively exploits the concurrency you've identified Connecting your algorithmic structures to the APIs needed to implement them Specific software constructs for implementing parallel programs Working with today's leading parallel programming environments: OpenMP, MPI, and Java Patterns have helped thousands of programmers master object-oriented development and other complex programming technologies. With this book, you will learn that they're the best way to master parallel programming too.







Introduction to Concurrency Theory


Book Description

This book presents the fundamentals of concurrency theory with clarity and rigor. The authors start with the semantic structure, namely labelled transition systems, which provides us with the means and the tools to express processes, to compose them, and to prove properties they enjoy. The rest of the book relies on Milner's Calculus of Communicating Systems, tailored versions of which are used to study various notions of equality between systems, and to investigate in detail the expressive power of the models considered. The authors proceed from very basic results to increasingly complex issues, with many examples and exercises that help to reveal the many subtleties of the topic. The book is suitable for advanced undergraduate and graduate students in computer science and engineering, and scientists engaged with theories of concurrency.