E-Book, Englisch, Band 61, 499 Seiten, eBook
Gburzynski / Gburzynski Modeling Communication Networks and Protocols
1. Auflage 2019
ISBN: 978-3-030-15391-5
Verlag: Springer International Publishing
Format: PDF
Kopierschutz: 1 - PDF Watermark
Implementation via the SMURPH System
E-Book, Englisch, Band 61, 499 Seiten, eBook
Reihe: Lecture Notes in Networks and Systems
ISBN: 978-3-030-15391-5
Verlag: Springer International Publishing
Format: PDF
Kopierschutz: 1 - PDF Watermark
Zielgruppe
Research
Autoren/Hrsg.
Weitere Infos & Material
1;Contents;6
2;1 Introduction;12
2.1;1.1 A Historical Note;13
2.2;1.2 Event-Driven Simulation: A Crash Course;16
2.2.1;1.2.1 Events;17
2.2.2;1.2.2 The Car Wash Model;18
2.2.3;1.2.3 Discrete Time;23
2.2.4;1.2.4 Nondeterminism and the Time Grain;27
2.3;1.3 An Overview of SMURPH;30
2.3.1;1.3.1 Reactive Systems: Execution Modes;31
2.3.2;1.3.2 Organization of the Package;33
2.4;References;35
3;2 Examples;37
3.1;2.1 The Car Wash Redux;37
3.1.1;2.1.1 The Washer Process;38
3.1.2;2.1.2 The Entrance Process;43
3.1.3;2.1.3 Completing the Program;45
3.1.4;2.1.4 About Time;47
3.1.5;2.1.5 Presenting the Results;49
3.1.6;2.1.6 Running the Model;49
3.1.7;2.1.7 In Real Time;51
3.2;2.2 The Alternating-Bit Protocol;54
3.2.1;2.2.1 The Protocol;55
3.2.2;2.2.2 Stations and Packet Buffers;57
3.2.3;2.2.3 The Sender’s Protocol;59
3.2.4;2.2.4 The Recipient’s Protocol;65
3.2.5;2.2.5 Wrapping It Up;68
3.2.6;2.2.6 Running the Model;74
3.3;2.3 A PID Controller;79
3.3.1;2.3.1 PID Control in a Nutshell;80
3.3.2;2.3.2 Building the Controller;83
3.3.3;2.3.3 Playing with the Controller;92
3.4;2.4 A Wireless Network Model;98
3.4.1;2.4.1 The ALOHA Network;99
3.4.2;2.4.2 The Protocol Specification;100
3.4.3;2.4.3 The Hub Station;104
3.4.4;2.4.4 The Terminals;112
3.4.5;2.4.5 The Channel Model;115
3.4.6;2.4.6 Wrapping It Up;126
3.4.7;2.4.7 Experimenting with the Model;130
3.5;References;142
4;3 Basic Operations and Types;144
4.1;3.1 Numbers;144
4.1.1;3.1.1 Simple Integer Types;144
4.1.2;3.1.2 Time in SMURPH;146
4.1.3;3.1.3 Type BIG and Its Range;150
4.1.4;3.1.4 Arithmetic Operations;151
4.1.5;3.1.5 Constants;152
4.1.6;3.1.6 Other Non-standard Numerical Types;153
4.2;3.2 Auxiliary Operation and Functions;155
4.2.1;3.2.1 Random Number Generators;155
4.2.2;3.2.2 Input/Output;159
4.2.3;3.2.3 The XML Parser;162
4.2.4;3.2.4 Operations on Flags;166
4.2.5;3.2.5 Type Boolean;167
4.2.6;3.2.6 Pools;167
4.2.7;3.2.7 Error Handling;168
4.2.8;3.2.8 Identifying the Experiment;169
4.2.9;3.2.9 Telling the Time and Date;169
4.2.10;3.2.10 Decibels;170
4.3;3.3 SMURPH Types;171
4.3.1;3.3.1 Type Hierarchy;171
4.3.2;3.3.2 Object Naming;172
4.3.3;3.3.3 Type Derivation;175
4.3.4;3.3.4 Multiple Inheritance;177
4.3.5;3.3.5 Abstract Types;179
4.3.6;3.3.6 Announcing Types;179
4.3.7;3.3.7 Subtypes with Empty Local Attribute Lists;180
4.3.8;3.3.8 Object Creation and Destruction;180
4.4;References;182
5;4 The Virtual Hardware;183
5.1;4.1 Stations;184
5.1.1;4.1.1 Declaring Station Types;184
5.1.2;4.1.2 Creating Station Objects;185
5.1.3;4.1.3 The Current Station;187
5.2;4.2 Links;187
5.2.1;4.2.1 Propagation of Signals in Links;187
5.2.2;4.2.2 Creating Links;188
5.3;4.3 Ports;190
5.3.1;4.3.1 Creating Ports;190
5.3.2;4.3.2 Connecting Ports to Links;192
5.3.3;4.3.3 Setting Distance Between Ports;193
5.4;4.4 Radio Channels;195
5.4.1;4.4.1 Signals, Attenuation, Interference;197
5.4.2;4.4.2 Creating Radio Channels;200
5.4.3;4.4.3 The List of Assessment Methods;201
5.5;4.5 Transceivers;206
5.5.1;4.5.1 Creating Transceivers;206
5.5.2;4.5.2 Interfacing and Configuring Transceivers;209
5.6;Reference;214
6;5 The Execution Framework;215
6.1;5.1 Processes;215
6.1.1;5.1.1 Activity Interpreters: The Concept;215
6.1.2;5.1.2 Declaring Process Types;216
6.1.3;5.1.3 Creating and Terminating Processes;218
6.1.4;5.1.4 Process Operation;221
6.1.5;5.1.5 The Code Method;223
6.1.6;5.1.6 The Process Environment;225
6.1.7;5.1.7 Process as an Activity Interpreter;227
6.1.8;5.1.8 The Root Process;228
6.2;5.2 Signal Passing;231
6.2.1;5.2.1 Regular Signals;231
6.2.2;5.2.2 Priority Signals;233
6.3;5.3 The Timer AI;234
6.3.1;5.3.1 Wait Requests;235
6.3.2;5.3.2 Operations;237
6.3.3;5.3.3 Clock Tolerance;238
6.3.4;5.3.4 The Visualization Mode;240
6.4;5.4 The Monitor AI;241
6.4.1;5.4.1 Wait Requests;242
6.4.2;5.4.2 Signaling Monitor Events;242
7;6 The Client;245
7.1;6.1 General Concepts;245
7.2;6.2 Message and Packet Types;247
7.3;6.3 Packet Buffers;250
7.4;6.4 Station Groups;252
7.5;6.5 Communication Groups;254
7.6;6.6 Traffic Patterns;256
7.6.1;6.6.1 Defining Traffic Types;256
7.6.2;6.6.2 Creating Traffic Patterns;257
7.6.3;6.6.3 Modifying the Standard Behavior of Traffic Patterns;263
7.6.4;6.6.4 Intercepting Packet and Message Deallocation;267
7.6.5;6.6.5 Message Queues;269
7.7;6.7 Inquiries;270
7.7.1;6.7.1 Acquiring Packets for Transmission;271
7.7.2;6.7.2 Testing for Packet Availability;274
7.8;6.8 Wait Requests;274
8;7 Links and Ports;277
8.1;7.1 Activities;277
8.1.1;7.1.1 Activity Processing in Links;278
8.1.2;7.1.2 Starting and Terminating Activities;279
8.1.3;7.1.3 Wait Requests and Events;282
8.1.4;7.1.4 Collisions;286
8.1.5;7.1.5 Event Priorities;286
8.1.6;7.1.6 Receiving Packets;288
8.2;7.2 Port Inquiries;290
8.2.1;7.2.1 Inquiries About the Present;290
8.2.2;7.2.2 Inquiries About the Past;292
8.2.3;7.2.3 Inquiries About the Future;293
8.3;7.3 Faulty Links;295
8.4;7.4 Cleaning After Packets;297
8.5;References;299
9;8 Radio Channels and Transceivers;300
9.1;8.1 Interpreting Activities in Radio Channels;300
9.1.1;8.1.1 The Stages of Packet Transmission and Perception;301
9.1.2;8.1.2 Criteria of Event Assessment;302
9.1.3;8.1.3 Neighborhoods;303
9.1.4;8.1.4 Event Assessment;304
9.1.5;8.1.5 Interference Histograms;306
9.1.6;8.1.6 Event Reassessment;308
9.1.7;8.1.7 The Context of Assessment Methods;309
9.1.8;8.1.8 Starting and Terminating Packet Transmission;310
9.2;8.2 Packet Perception and Reception;311
9.2.1;8.2.1 Wait Requests and Events;312
9.2.2;8.2.2 Event Priorities;317
9.2.3;8.2.3 Receiving Packets;317
9.2.4;8.2.4 Hooks for Handling Bit Errors;318
9.2.5;8.2.5 Transceiver Inquiries;323
9.3;8.3 Cleaning After Packets;328
9.4;Reference;328
10;9 Mailboxes;329
10.1;9.1 General Concepts;329
10.2;9.2 Fifo Mailboxes;330
10.2.1;9.2.1 Declaring and Creating Fifo Mailboxes;330
10.2.2;9.2.2 Wait Requests;333
10.2.3;9.2.3 Operations on Fifo Mailboxes;336
10.2.4;9.2.4 The Priority Put Operation;341
10.3;9.3 Barrier Mailboxes;343
10.3.1;9.3.1 Declaring and Creating Barrier Mailboxes;343
10.3.2;9.3.2 Wait Requests;344
10.3.3;9.3.3 Operations on Barrier Mailboxes;345
10.4;9.4 Bound Mailboxes;345
10.4.1;9.4.1 Binding Mailboxes;346
10.4.2;9.4.2 Device Mailboxes;348
10.4.3;9.4.3 Client Mailboxes;350
10.4.4;9.4.4 Server Mailboxes;351
10.4.5;9.4.5 Unbinding and Determining the Bound Status;354
10.4.6;9.4.6 Wait Requests;355
10.4.7;9.4.7 Operations on Bound Mailboxes;356
10.5;9.5 Journaling;361
10.5.1;9.5.1 Declaring Mailboxes to Be Journaled;361
10.5.2;9.5.2 Driving Mailboxes from Journal Files;362
10.5.3;9.5.3 Journaling Client and Server Mailboxes;363
11;10 Measuring Performance;365
11.1;10.1 Type RVariable;365
11.1.1;10.1.1 Creating and Destroying Random Variables;366
11.1.2;10.1.2 Operations on Random Variables;366
11.2;10.2 Client Performance Measures;368
11.2.1;10.2.1 Random Variables;368
11.2.2;10.2.2 Counters;369
11.2.3;10.2.3 Virtual Methods;370
11.2.4;10.2.4 Resetting Performance Measures;371
11.3;10.3 Link Performance Measures;373
11.4;10.4 RFChannel Performance Measures;374
11.5;10.5 Terminating Execution;375
11.5.1;10.5.1 Maximum Number of Received Messages;377
11.5.2;10.5.2 Virtual Time Limit;377
11.5.3;10.5.3 CPU Time Limit;377
11.5.4;10.5.4 The Exit Code;378
11.6;Reference;378
12;11 Tools for Testing and Debugging;379
12.1;11.1 User-Level Tracing;379
12.2;11.2 Simulator-Level Tracing;382
12.3;11.3 Observers;383
12.4;References;387
13;12 Exposing Objects;388
13.1;12.1 General Concepts;388
13.2;12.2 Making Objects Exposable;389
13.3;12.3 Programming Exposures;392
13.4;12.4 Invoking Exposures;398
13.5;12.5 Standard Exposures;400
13.5.1;12.5.1 Timer Exposure;403
13.5.2;12.5.2 Mailbox Exposure;404
13.5.3;12.5.3 RVariable Exposure;405
13.5.4;12.5.4 Client and Traffic Exposure;406
13.5.5;12.5.5 Port Exposure;409
13.5.6;12.5.6 Link Exposure;410
13.5.7;12.5.7 Transceiver Exposure;412
13.5.8;12.5.8 RFChannel Exposure;413
13.5.9;12.5.9 Process Exposure;415
13.5.10;12.5.10 Kernel Exposure;416
13.5.11;12.5.11 Station Exposure;418
13.5.12;12.5.12 System Exposure;421
13.5.13;12.5.13 Observer Exposure;422
14;Appendix A: Library Models of Wireless Channels;424
15;A.1 The Base Model;424
15.1;Outline placeholder;1
15.1.1;A.1.1 The Mapper Classes;425
15.1.2;A.1.2 Channel Separation;428
15.1.3;A.1.3 The Functions of the Base Model;429
16;A.2 The Shadowing Model;433
16.1;Outline placeholder;1
16.1.1;A.2.1 Model Parameters;434
16.1.2;A.2.2 Event Assessment;435
17;A.3 The Sampled Model;437
17.1;Outline placeholder;1
17.1.1;A.3.1 Model Parameters;437
17.1.2;A.3.2 The RSSI Samples;438
17.1.3;A.3.3 Computing the Attenuation;441
18;A.4 The Neutrino Model;442
18.1;Outline placeholder;1
18.1.1;A.4.1 Model Parameters;443
18.1.2;A.4.2 Event Assessment;443
19;Appendix B: SMURPH Under Linux and Windows;445
20;B.1 Package Structure;446
21;B.2 Installation;448
22;B.3 Running DSD;451
23;B.4 Comments on Windows;452
24;B.5 Creating Executable Programs in SMURPH;453
25;B.6 Running the Program;457
26;Appendix C: DSD: The Dynamic Status Display Program;461
27;C.1 Basic Principles;461
28;C.2 The Monitor;462
29;C.3 Invoking DSD;464
30;C.4 Window Templates;466
30.1;Outline placeholder;1
30.1.1;C.4.1 Template Identifiers;466
30.1.2;C.4.2 Template Structure;467
30.1.3;C.4.3 Special Characters;468
30.1.4;C.4.4 Exception Lines;470
30.1.5;C.4.5 Replication of Layout Lines;470
30.1.6;C.4.6 Window Height;470
30.1.7;C.4.7 Regions;471
30.1.8;C.4.8 Field Attributes;471
31;C.5 Requesting Exposures;473
31.1;Outline placeholder;1
31.1.1;C.5.1 The Hierarchy of Exposable Objects;474
31.1.2;C.5.2 Navigating the Ownership Tree;475
32;C.6 Exposure Windows;476
32.1;Outline placeholder;1
32.1.1;C.6.1 Basic Operations;477
32.1.2;C.6.2 Stepping;477
32.1.3;C.6.3 Segment Attributes;479
33;C.7 Other Commands;479
33.1;Outline placeholder;1
33.1.1;C.7.1 Display Interval;480
33.1.2;C.7.2 Disconnection and Termination;480
33.1.3;C.7.3 Shortcuts;481
34;Bibliography;482
35;Index;483