We use cookies to distinguish you from other users and to provide you with a better experience on our websites. Close this message to accept cookies or find out how to manage your cookie settings.
To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
Chapter 3 has introduced the notion of transition systems both as an abstract operational model of reactive systems and as a means to give operational semantics to equational theories. The latter has been illustrated by giving an operational interpretation of the equational theory of natural numbers. The aim of this book, however, is to develop equational theories for reasoning about reactive systems. This chapter provides the first simple examples of such theories. Not surprisingly, the semantics of these theories is defined in terms of the operational framework of the previous chapter. For clarity, equational theories tailored towards reasoning about reactive systems are referred to as process theories. The objects being described by a process theory are referred to as processes. The next two sections introduce a minimal process theory with its semantics. This minimal theory is mainly illustrative from a conceptual point of view. Sections 4.4 and 4.5 provide some elementary extensions of the minimal theory, to illustrate the issues involved in extending process theories. Incremental development of process theories is crucial in tailoring a process theory to the specifics of a given design or analysis problem. The resulting framework is flexible and it allows designers to include precisely those aspects in a process theory that are relevant and useful for the problem at hand. Incremental design also simplifies many of the proofs needed for the development of a rich process theory.
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
In the previous chapters, data types have been handled in an informal way. An alternative composition parameterized by a finite data type D, written as ΣdΣDt with t some process term possibly containing d, was introduced as an abbreviation of a finite expression, and the d occurring in term t was not treated as a (bound) variable. This chapter takes a closer look at data expressions. Such expressions are considered in a more formal way, and the interplay between data and processes is studied. All issues involved can be illustrated by considering just two concrete data types, namely the (finite) data type of the Booleans and the (infinite) data type of the natural numbers. The data type of the natural numbers was also used in the previous chapter to denote time behavior. Considering an uncountable data type as the reals causes additional problems that are avoided in the present text. The use of an uncountable data type in a parameterized alternative composition would, just like the use of an uncountable time domain, provide a means to specify uncountable processes, which is not possible with any of the theories developed in this book.
Notation 10.1.1 (Booleans, propositional logic) Recall from Example 2.3.2 the algebra of the Booleans B = (B, ^, ¬, true). In addition to the constant true and the operators ^ and ¬, the binary operators ∨ (or) and ⊃ (implication), and the constant false are also used in the remainder. The not so common symbol ⊃ is used for implication in order to avoid the use of too many arrows in notations.
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
The various chapters so far have introduced the basics of process-algebraic reasoning, including essential concepts such as recursion, parallel composition, and abstraction, and several extensions of this basic framework with time, data, and state. This one-but-last chapter introduces two more extensions, to reason about priorities and probabilities, and elaborates briefly on mobility and variants of parallel composition in Sections 11.3 and 11.4.
Priorities
In order to specify certain applications, it is useful to be able to restrict the non-determinism in process descriptions, by allowing certain actions to have priority over others in a choice context. A priority mechanism has proved itself useful in the following circumstances:
(i) when describing interrupts and disrupts, where the normal execution of a system is pre-empted by an event that has priority;
(ii) when giving semantics to certain features of programming languages such as interrupt or error handling mechanisms;
(iii) when timing is involved, when some events may not happen prematurely and other events may need to happen as soon as possible (maximal progress);
(iv) when describing scheduling algorithms.
This section introduces a priority mechanism in the equational and operational frameworks introduced in earlier chapters. Assume that certain actions have priority over other actions. This is expressed by assuming there is some (irreflexive) partial ordering ≺ on the set of actions A. For simplicity, consider this partial ordering to be fixed. This means the priority is static.
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
This book about process algebra improves on its predecessor, written by Jos Baeten and Peter Weijland almost 20 years ago, by being more comprehensive and by providing far more mathematical detail. In addition the syntax of ACP has been extended by a constant 1 for termination. This modification not only makes the syntax more expressive, it also facilitates a uniform reconstruction of key aspects of CCS, CSP as well as ACP, within a single framework.
After renaming the empty process (∈) into 1 and the inactive process (δ) into 0, the axiom system ACP is redesigned as BCP. This change is both pragmatically justified and conceptually convincing. By using a different acronym instead of ACP, the latter can still be used as a reference to its original meaning, which is both useful and consistent.
Curiously these notational changes may be considered marginal and significant at the same time. In terms of theorems and proofs, or in terms of case studies, protocol formalizations and the design of verification tools, the specific details of notation make no real difference at all. But by providing a fairly definitive and uncompromising typescript a major impact is obtained on what might be called ‘nonfunctional qualities’ of the notational framework. I have no doubt that these nonfunctional qualities are positive and merit being exploited in full detail as has been done by Baeten and his co-authors. Unavoidably, the notational evolution produces a change of perspective. While, for instance, the empty process is merely an add on feature for ACP, it constitutes a conceptual cornerstone for BCP.
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
In the process theory BSP(A) discussed in Chapter 4, the only way of combining two processes is by means of alternative composition. For the specification of more complex systems, additional composition mechanisms are useful. This chapter treats the extension with a sequential-composition operator. Given two process terms x and y, the term x · y denotes the sequential composition of x and y. The intuition of this operation is that upon the successful termination of process x, process y is started. If process x ends in a deadlock, also the sequential composition x · y deadlocks. Thus, a pre-requisite for a meaningful introduction of a sequential-composition operator is that successful and unsuccessful termination can be distinguished. As already explained in Chapter 4, this is not possible in the theory MPT(A) as all processes end in deadlock. Thus, as before, as a starting point the theory BSP(A) of Chapter 4 is used. This theory is extended with sequential composition to obtain the Theory of Sequential Processes TSP(A). It turns out that the empty process is an identity element for sequential composition: x · 1 = 1 · x = x.
The process theory TSP
This section introduces the process theory TSP, the Theory of Sequential Processes. The theory has, as before, a set of actions A as its parameter. The signature of the process theory TSP(A) is the signature of the process theory BSP(A) extended with the sequential-composition operator.
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
J. C. M. Baeten, Technische Universiteit Eindhoven, The Netherlands,T. Basten, Technische Universiteit Eindhoven, The Netherlands,M. A. Reniers, Technische Universiteit Eindhoven, The Netherlands
Wireless LANs have become mainstream over the last few years. What started out as cable replacement for static desktops in indoor networks has been extended to fully mobile broadband applications involving moving vehicles, high-speed trains, and even airplanes. This book is designed to appeal to a broad audience with different levels of technical background and can be used in a variety of ways: as a first course on wireless LANs, as a graduate-level textbook, or simply as a professional reference guide. It describes the key practical considerations when deploying wireless LANs and equips the reader with a solid understanding of the emerging technologies. The book comprises 38 high-quality contributions from industry and academia and covers a broad range of important topics related to 802.11 networks, including quality of service, security, high throughput systems, mesh networking, 802.11/cellular interworking, coexistence, cognitive radio resource management, range and capacity evaluation, hardware and antenna design, hotspots, new applications, ultra-wideband, and public wireless broadband.
Ada is the only ISO-standard, object-oriented, concurrent, real-time programming language. It is intended for use in large, long-lived applications where reliability and efficiency are essential, particularly real-time and embedded systems. In this book, Alan Burns and Andy Wellings give a thorough, self-contained account of how the Ada tasking model can be used to construct a wide range of concurrent and real-time systems. This is the only book that focuses on an in-depth discussion of the Ada tasking model. Following on from the authors' earlier title Concurrency in Ada, this book brings the discussion up to date to include the new Ada 2005 language and the recent advances in real-time programming techniques. It will be of value to software professionals and advanced students of programming alike: indeed every Ada programmer will find it essential reading and a primary reference work that will sit alongside the language reference manual.
If you've been searching for a way to get up to speed quickly on IEEE 802.11n without having to wade through the entire standard, then look no further. This comprehensive overview describes the underlying principles, implementation details, and key enhancing features of 802.11n. A detailed discussion of the key throughput, robustness, and reliability enhancing features (such as MIMO, 40 MHz channels, and packet aggregation) is given, in addition to a clear summary of the issues surrounding legacy interoperability and coexistence. Advanced topics such as beamforming and fast link adaption are also covered. With numerous MAC and physical layer examples and simulation results included to highlight the benefits of the new features, this is an ideal reference for designers of WLAN equipment, and network managers whose systems adopt the new standard. It is also a useful distillation of 802.11n technology for graduate students and researchers in the field of wireless communication.
This book gives applications of the theory of process algebra, or Algebra of Communicating Processes (ACP), that is the study of concurrent or communicating processes studied using an algebraic framework. The approach is axiomatic; the authors consider structures that are some set of mostly equational axioms, which are equipped with several operators. Thus the term 'algebra' is used in the model-theoretic sense. The axiomatic approach enables one to organize the field of process theories. The theory is applied systematically to a number of situations, including systolic algorithms, semantics of an object-oriented language, and protocols. It will be welcomed by computer scientists working in parallel programming.
This is the first book presenting a stochastic extension of process algebra, PEPA; this is shown to be suitable for specifying a Markov process, which can then be applied to performance modelling. The method, which is illustrated with case studies taken from the area of communication systems, can readily be used to construct a variety of models that can be analysed using standard numerical techniques. One of the major advantages of PEPA over the standard methods for specifying stochastic performance models is the inherent apparatus for reasoning about the structure and behaviour of models. In the later chapters this apparatus is exploited to define four equivalence relations over PEPA components. Each of these notions of equivalence has intrinsic interest from a process algebra perspective. However, they are also demonstrated to be useful in a performance modelling context. To conclude the book, a section has been added surveying recent results in the area and discussing open questions.
Are you an engineer or manager working on the development and implementation of RFID technology? If so, this book is for you. Covering both passive and active RFID systems, the challenges to RFID implementation are addressed using specific industry research examples and common integration issues. Key topics include RF tag performance optimization, evaluation methodologies for RFID and Real-Time-Location Systems (RTLS) and sensors, EPC network simulation, RFID in the retail supply chain, and applications in product lifecycle management, anti-counterfeiting and cold chain management. The book brings together insights from the world's leading research laboratories in the field, including the Auto-ID Labs at MIT, successor to the Auto-ID Center which developed the Electronic Product Code scheme which is set to become the global standard for product identification.MIT Auto-ID Labs's suite of Open Source code and tools for RFID implementation is available at www.cambridge.org/9780521880930.
The major reason for the lack of use of parallel computing is the mismatch between the complexity and variety of parallel hardware, and the software development tools to program it. The cost of developing software needs to be amortised over decades, but the platforms on which it executes change every few years, requiring complete rewrites. The evident cost-effectiveness of parallel computation has not been realized because of this mismatch. This book presents an integrated approach to parallel software development by addressing both software and performance issues together. It presents a methodology for software construction that produces architecture-independent and intellectually abstract software. The software can execute efficiently on a range of existing and potential hardware configurations. The approach is based on the construction of categorical data types, a generalization of abstract data types, and of objects. Categorical data types abstract both from the representation of a data type, and also from the detailed control flow necessary to perform operations on it. They thus impose a strong separation between the semantics, on which programs can depend, and the implementation, which is therefore free to hide the parallel machine properties that are used.
Petri nets are a popular and powerful formal model for the analysis and modelling of concurrent systems, and a rich theory has developed around them. Petri nets are taught to undergraduates, and also used by industrial practitioners. This book focuses on a particular class of petri nets, free choice petri nets, which play a central role in the theory. The text is very clearly organised, with every notion carefully explained and every result proved. Clear exposition is given for place invariants, siphons, traps and many other important analysis techniques. The material is organised along the lines of a course book, and each chapter contains numerous exercises, making this book ideal for graduate students and research workers alike.
This book presents the proceedings of the Distributed Ada '89 Symposium held at the University of Southampton in December. The objective of the symposium was to provide a platform for developers and users with experience in the areas of distributed and parallel environments to reveal the advantages and difficulties encountered. The impact of Ada-9X and other enhancements to the language were also explored.