Muutke küpsiste eelistusi

E-raamat: Modeling and Analysis of Communicating Systems

(Eindhoven University of Technology), (Halmstad University)
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 114,40 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Complex communicating computer systems -- computers connected by data networks and in constant communication with their environments -- do not always behave as expected. This book introduces behavioral modeling, a rigorous approach to behavioral specification and verification of concurrent and distributed systems. It is among the very few techniques capable of modeling systems interaction at a level of abstraction sufficient for the interaction to be understood and analyzed. Offering both a mathematically grounded theory and real-world applications, the book is suitable for classroom use and as a reference for system architects. The book covers the foundation of behavioral modeling using process algebra, transition systems, abstract data types, and modal logics. Exercises and examples augment the theoretical discussion. The book introduces a modeling language, mCRL2, that enables concise descriptions of even the most intricate distributed algorithms and protocols. Using behavioral axioms and such proof methods as confluence, cones, and foci, readers will learn how to prove such algorithms equal to their specifications. Specifications in mCRL2 can be simulated, visualized, or verified against their requirements. An extensive mCRL2 toolset for mechanically verifying the requirements is freely available online; this toolset has been successfully used to design and analyze industrial software that ranges from healthcare applications to particle accelerators at CERN. Appendixes offer material on equations and notation as well as exercise solutions.

Preface xiii
Acknowledgments xv
I Modeling 1(138)
1 Introduction
3(4)
1.1 Motivation
3(1)
1.2 The mCRL2 approach
4(1)
1.3 An overview of the book
5(1)
1.4 Audience and suggested method of reading
6(1)
2 Actions, Behavior, Equivalence, and Abstraction
7(26)
2.1 Actions
7(1)
2.2 Labeled transition systems
8(3)
2.3 Equivalence of behaviors
11(11)
2.3.1 Trace equivalence
11(2)
2.3.2 Language and completed trace equivalence
13(1)
2.3.3 Failures equivalence
14(2)
2.3.4 Strong bisimulation equivalence
16(3)
2.3.5 The Van Glabbeek linear time-branching time spectrum
19(3)
2.4 Behavioral abstraction
22(8)
2.4.1 The internal action τ
22(1)
2.4.2 Weak trace equivalence
23(1)
2.4.3 (Rooted) branching bisimulation
24(4)
2.4.4 (Rooted) weak bisimulation
28(2)
2.5 Historical notes
30(3)
3 Data Types
33(20)
3.1 Data type definition mechanism
33(6)
3.2 Standard data types
39(5)
3.2.1 Booleans
40(1)
3.2.2 Numbers
41(3)
3.3 Function data types
44(3)
3.4 Structured data types
47(2)
3.5 Lists
49(1)
3.6 Sets and bags
50(1)
3.7 Where expressions and priorities
51(1)
3.8 Historical notes
52(1)
4 Sequential Processes
53(16)
4.1 Actions
53(1)
4.2 Multi-actions
54(2)
4.3 Sequential and alternative composition
56(2)
4.4 Deadlock
58(2)
4.5 The conditional operator
60(1)
4.6 The sum operator
61(1)
4.7 Recursive processes
62(2)
4.8 Axioms for the internal action
64(2)
4.9 Historical notes
66(3)
5 Parallel Processes
69(16)
5.1 The parallel operator
69(3)
5.2 Communication among parallel processes
72(2)
5.3 The allow operator
74(3)
5.4 Blocking and renaming
77(1)
5.5 Hiding internal behavior
78(1)
5.6 Alphabet axioms
79(4)
5.7 Historical notes
83(2)
6 The Modal µ-calculus
85(18)
6.1 Hennessy-Milner logic
86(2)
6.2 Regular formulas
88(2)
6.3 Fixed point modalities
90(4)
6.4 Modal formulas and labeled transition systems
94(3)
6.5 Modal formulas with data
97(3)
6.6 Equations
100(2)
6.7 Historical notes
102(1)
7 Modeling System Behavior
103(18)
7.1 Alternating bit protocol
103(3)
7.2 Sliding window protocol
106(5)
7.3 A patient support platform
111(8)
7.4 Historical notes
119(2)
8 Timed Process Behavior
121(18)
8.1 Timed actions and time deadlocks
121(2)
8.2 Timed transition systems
123(2)
8.3 Timed process equivalences
125(6)
8.3.1 Timed (strong) bisimulation
125(2)
8.3.2 Timed branching bisimulation
127(3)
8.3.3 Timed trace and timed weak trace equivalence
130(1)
8.4 Timed processes
131(5)
8.5 Modal formulas with time
136(2)
8.6 Historical notes
138(1)
II Analysis 139(120)
9 Basic Manipulation of Processes
141(26)
9.1 Derivation rules for equations
141(5)
9.2 Derivation rules for formulas
146(2)
9.3 The sum operator
148(1)
9.4 The sum elimination lemma
149(1)
9.5 Induction for constructor sorts
150(2)
9.6 Recursive specification principle
152(4)
9.7 Koomen's fair abstraction rule
156(2)
9.8 Parallel expansion
158(6)
9.8.1 Basic parallel expansion
158(1)
9.8.2 Parallel expansion with data: two one-place buffers
159(3)
9.8.3 Parallel expansion with time
162(2)
9.9 Historical notes
164(3)
10 Linear Process Equations and Linearization
167(22)
10.1 Linear process equations
167(3)
10.1.1 General linear process equations
167(3)
10.1.2 Clustered linear process equations
170(1)
10.2 Linearization
170(11)
10.2.1 Linearization of sequential processes
171(6)
10.2.2 Parallelization of linear processes
177(2)
10.2.3 Linearization of n parallel processes
179(2)
10.3 Proof rules for linear processes
181(6)
10.3.1 τ-convergence
181(2)
10.3.2 The convergent linear recursive specification principle (CL-RSP)
183(1)
10.3.3 CL-RSP with invariants
184(3)
10.4 Historical notes
187(2)
11 Confluence and τ-prioritization
189(10)
11.1 τ-confluence on labeled transition systems
190(1)
11.2 τ-prioritization of labeled transition systems
191(3)
11.3 Confluence and linear processes
194(2)
11.4 τ-prioritization for linear processes
196(2)
11.4.1 Using confluence for state space generation
197(1)
11.5 Historical notes
198(1)
12 Cones and Foci
199(14)
12.1 Cones and foci
199(5)
12.2 Protocol verification using the cones and foci
204(7)
12.2.1 Two unbounded queues form a queue
204(1)
12.2.2 Milner's scheduler
205(1)
12.2.3 The alternating bit protocol
206(5)
12.3 Historical notes
211(2)
13 Verification of Distributed Systems
213(28)
13.1 Tree identify protocol
213(6)
13.1.1 The correctness of the tree identify protocol
215(4)
13.2 Sliding window protocol
219(10)
13.2.1 Some rules for modulo calculation
219(1)
13.2.2 Linearization
219(1)
13.2.3 Getting rid of modulo arithmetic
220(6)
13.2.4 Proving the nonmodulo sliding window protocol equal to a first-in-first-out queue
226(3)
13.2.5 Correctness of the sliding window protocol
229(1)
13.3 Distributed summing protocol
229(9)
13.3.1 A description in mCRL2
230(2)
13.3.2 Linearization and invariants
232(3)
13.3.3 State mapping, focus points, and final lemma
235(3)
13.4 Historical notes
238(3)
14 Verification of Modal Formulas Using Parameterized Boolean Equation Systems
241(18)
14.1 Boolean equation systems
241(5)
14.1.1 Boolean equation systems and model checking
243(1)
14.1.2 Gaussian elimination
244(2)
14.2 Parameterized Boolean equation systems
246(1)
14.3 Translation of modal formulas to parameterized Boolean equation systems
247(4)
14.4 Techniques for solving parameterized Boolean equation systems
251(7)
14.4.1 Transforming a parameterized Boolean equation system to a Boolean equation system
251(1)
14.4.2 Global solving techniques for parameterized Boolean equation systems
252(2)
14.4.3 Local solving techniques for parameterized Boolean equation systems
254(4)
14.5 Historical notes
258(1)
III Semantics 259(36)
15 Semantics
261(34)
15.1 Semantics of data types
261(15)
15.1.1 Signatures
261(4)
15.1.2 Well-typed data expressions
265(5)
15.1.3 Free variables and substitutions
270(2)
15.1.4 Data specifications
272(2)
15.1.5 Semantics of data types
274(2)
15.2 Semantics of processes
276(12)
15.2.1 Processes, action declarations, and process equations
276(4)
15.2.2 Semantical multi-actions
280(1)
15.2.3 Substitution on processes
281(5)
15.2.4 Operational semantics
286(2)
15.3 Validity of modal µ-calculus formulas
288(2)
15.4 Semantics of parameterized Boolean equation systems
290(2)
15.5 Soundness and completeness
292(1)
15.6 Historical notes
292(3)
IV Appendixes 295(64)
A Brief Tool Primer
297(8)
A.1 Using the GUI or the command line interface
297(1)
A.2 A simple running example
298(1)
A.3 Linearization
299(1)
A.4 Manipulating the linear process
299(1)
A.5 Manipulating and visualizing state spaces
300(2)
A.6 Solving modal formulas and manipulating PBESs
302(3)
B Equational Definition of Built-In Data Types
305(18)
B.1 Bool
306(1)
B.2 Positive numbers
306(2)
B.3 Natural numbers
308(3)
B.4 Integers
311(2)
B.5 Reals
313(1)
B.6 Lists
314(1)
B.7 Sets
315(3)
B.8 Bags
318(3)
B.9 Function update
321(1)
B.10 Structured sorts
322(1)
C Plain-Text Notation
323(6)
C.1 Data types
323(3)
C.1.1 Sorts
323(1)
C.1.2 Functions for any data type
323(1)
C.1.3 Boolean expressions
324(1)
C.1.4 Structured-data expressions
324(1)
C.1.5 Numerical expressions
324(1)
C.1.6 Function expressions
325(1)
C.1.7 List expressions
325(1)
C.1.8 Sets and bags
325(1)
C.2 Processes
326(1)
C.3 Modal logic
326(1)
C.3.1 Action formulas
326(1)
C.3.2 Regular expressions
327(1)
C.3.3 State formulas
327(1)
C.4 (Parameterized) Boolean equation systems
327(2)
D Syntax of the Formalisms
329(8)
D.1 Comments
329(1)
D.2 Keywords
329(1)
D.3 Conventions to denote the context-free syntax
329(1)
D.4 Identifiers and numbers
330(1)
D.5 Sort expressions and sort declarations
330(1)
D.6 Constructors and mappings
331(1)
D.7 Equations
331(1)
D.8 Data expressions
331(1)
D.9 Communication and renaming sets
332(1)
D.10 Process expressions
333(1)
D.11 Actions
333(1)
D.12 Process and initial state declaration
334(1)
D.13 Data specification
334(1)
D.14 mCRL2 specification
334(1)
D.15 Boolean equation systems
334(1)
D.16 Parameterized Boolean equation systems
335(1)
D.17 Action formulas
335(1)
D.18 Regular formulas
335(1)
D.19 State formulas
336(1)
D.20 Action rename specifications
336(1)
E Axioms for Processes
337(6)
F Answers to Exercises
343(16)
Bibliography 359