Gburzynski / Gburzynski | Modeling Communication Networks and Protocols | E-Book | sack.de
E-Book

E-Book, Englisch, Band 61, 499 Seiten, eBook

Reihe: Lecture Notes in Networks and Systems

Gburzynski / Gburzynski Modeling Communication Networks and Protocols

Implementation via the SMURPH System
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



This book provides an introduction to the software system SMURPH, comprising a programming language, its compiler, and an execution environment, for specifying communication networks and protocols and executing those specifications in virtual worlds mimicking the behavior of real-life implementations. It particularly focuses on SMURPH’s wireless modeling capabilities. Written in a manual-like fashion, it includes a comprehensive description of SMURPH functionality, as well as illustrations and case studies to aid understanding.
Gburzynski / Gburzynski Modeling Communication Networks and Protocols jetzt bestellen!

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



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.