v i
Abbreviations _______________________________________________________ xiv
C h a p t e r I Introduction
I.1. Modeling : One-Shot versus Reusability_________________________________ 3 I.2. Simulation Environment : AMS _______________________________________ 4 I.3. Communication Network Modeling Unit : DBM__________________________ 7 I.4. Protocol Entity Modeling Unit : Function_______________________________ 8 I.5. Organization of this Dissertation ______________________________________ 9
C h a p t e r I I
AMS : Atelier for Modeling and Simulation
II.1. Introduction _____________________________________________________ 13 II.2. Functional Structure of AMS _______________________________________ 17 II.2.1. Library of Basic Models ______________________________________ 17 II.2.2. Editing Phase_______________________________________________ 18 II.2.3. ADL Phase ________________________________________________ 20 II.2.4. Simulation Phase ____________________________________________ 23 II.2.4.1. Experimenter Process _____________________________________________ 23 II.2.4.2. Simulator Process ________________________________________________ 24 II.2.4.3. Post-Processor __________________________________________________ 24
II.2.5. Presentation Phase __________________________________________ 25 II.2.5.1. Plotter Process __________________________________________________ 25 II.2.5.2. Animator Process ________________________________________________ 25 II.2.5.3. Reporter Process ________________________________________________ 25
II.3. AMS Prototype ___________________________________________________ 26 II.3.1. Software Kernels of AMS _____________________________________ 27 II.3.1.1. Graphical Support System (GSS) _____________________________________ 27
v i i
II.3.1.2. MODLINE______________________________________________________ 28 II.3.1.3. S-PLUS ________________________________________________________ 29
II.3.2. Implementation Aspects of AMS_______________________________ 29 II.3.2.1. File Types ______________________________________________________ 29 II.3.2.2. Files Structure ___________________________________________________ 32
II.3.3. Example of Editing a Communication Network ____________________ 33 II.3.3.1. Editing ________________________________________________________ 34 II.3.3.2. Performance Results ______________________________________________ 36
II.4. Architecture Description Language __________________________________ 38 II.4.1. Pre -defined Objects _________________________________________ 39 II.4.1.1. Simple Object ___________________________________________________ 40 II.4.1.2. Ensemble Object _________________________________________________ 40 II.4.1.3. Object Type “ANY” ______________________________________________ 41
II.4.2. Generic Object _____________________________________________ 42 II.4.2.1. DECLARATION Part______________________________________________ 43 II.4.2.2. CONNECTION Part _______________________________________________ 43 II.4.2.3. SPECIALIZATION Part ____________________________________________ 45 II.4.2.4. PLAN Part______________________________________________________ 45
II.4.3. ADL Program ______________________________________________ 46 II.4.3.1. GLOBAL Part ___________________________________________________ 47 II.4.3.2. DEFINITION Part ________________________________________________ 48 II.4.3.3. Remaining Parts _________________________________________________ 49
II.4.4. Example __________________________________________________ 49 II.5. Conclusion ______________________________________________________ 51
C h a p t e r I I I
DBM : Detailed Basic Model
III.1. Introduction ____________________________________________________ 53 III.2. Internal Structure of a DBM _______________________________________ 55 III.2.1. Behavior Engine Block______________________________________ 56
v i i i
III.2.1.1. Parameter Classes _______________________________________________ 57 III.2.1.1.1. Performance Parameter Class ________________________________ 57 III.2.1.1.2. Configuration Parameter Class _______________________________ 57 III.2.1.2. Processing Overhead Assessment ___________________________________ 58
III.2.2. Interfaces Block ___________________________________________ 58 III.2.2.1. Structure of Messages____________________________________________ 60 III.2.2.2. Connection of DBMs_____________________________________________ 62 III.2.2.2.1. Facet Concept ___________________________________________ 63 III.2.2.2.2. Superfacet Concept _______________________________________ 66 III.2.2.2.3. Mutual Exclusion _________________________________________ 67
III.2.3. Measurements Block _______________________________________ 68 III.2.3.1. Local versus Global Measurements __________________________________ 69 III.2.3.2. Steady-State versus Transient State__________________________________ 69
III.2.4. Instantiating a DBM ________________________________________ 69 III.3. Verification and Validation of a DBM _______________________________ 70 III.3.1. Verification of a DBM _______________________________________ 71 III.3.2. Validation of a DBM ________________________________________ 72 III.4. Generic and Composite Models _____________________________________ 73 III.4.1. DBM Class _______________________________________________ 74 III.4.2. Composition Mechanism_____________________________________ 75 III.4.3. Generic Model (GeM)_______________________________________ 79 III.4.3.1. Specific Object of a GeM __________________________________________ 80 III.4.3.2. Connections inside a GeM_________________________________________ 81 III.4.3.3. Connections outside a GeM________________________________________ 82 III.4.3.4. Parameters and Measurements of a GeM ______________________________ 82 III.4.3.5. Examples ______________________________________________________ 83 III.4.3.5.1. First Example : Bridge ______________________________________ 83 III.4.3.5.2. Second Example : Router____________________________________ 85
III.4.4. Composite Model (CoM) ____________________________________ 86 III.4.4.1. Specific Object of a CoM __________________________________________ 87 III.4.4.2. Parameters and Measurements of a CoM ______________________________ 87
i x
III.4.4.3. Examples ______________________________________________________ 88 III.4.4.3.1. Specialization of the GeM Bridge______________________________ 88 III.4.4.3.2. Specialization of the GeM Router______________________________ 88
III.5. QNAP2 Implementation of a DBM__________________________________ 89 III.5.1. DBM as a QNAP2 Object____________________________________ 89 III.5.2. Message Modeling _________________________________________ 91 III.5.3. DBM User’s Interface ______________________________________ 92 III.5.3.1. Creating an Instance of a DBM______________________________________ 92 III.5.3.2. Asking for Measurements _________________________________________ 93
III.6. Conclusion _____________________________________________________ 93
C h a p t e r I V
Function Based Methodology for Modeling Communication Protocol Entities
IV.1. Introduction ____________________________________________________ 96 IV.2. Background ____________________________________________________ 100 IV.2.1. Definitions _______________________________________________ 100 IV.2.2. Graph Theory_____________________________________________ 104 IV.2.3. Notations ________________________________________________ 105 IV.3. General Framework _____________________________________________ 106 IV.3.1. Three Layers Architecture __________________________________ 106 IV.3.2. Library of Functions (LoF) __________________________________ 110 IV.3.3. Event Classes ____________________________________________ 111 IV.4. Protocol Entity Structure _________________________________________ 113 IV.5. Function Based Modeling Methodology _____________________________ 116 IV.5.1. Function as a Module ______________________________________ 116 IV.5.1.1. Function Inputs/Outputs _________________________________________ 116
x
IV.5.1.2. Description of Function Module ___________________________________ 118
IV.5.2. Function Types____________________________________________ 123 IV.5.2.1. Prerequisite Function____________________________________________ 123 IV.5.2.2. Selected Function ______________________________________________ 123 IV.5.2.3. Pulled Function ________________________________________________ 124
IV.5.3. Precedence Graph _________________________________________ 125 IV.5.3.1. Strong Precedence______________________________________________ 125 IV.5.3.2. Weak Precedence ______________________________________________ 126 IV.5.3.3. Definition of a Precedence Graph ___________________________________ 126 IV.5.3.4. Properties of a Precedence Graph___________________________________ 129 IV.5.3.5. Sequencing a Precedence Graph ___________________________________ 132 IV.5.3.6. Examples of Partial Orders Between Functions _________________________ 135
IV.5.4. __________________________________________________ 135 IV.5.5. How does a function become a pulled function? __________________ 139 IV.5.5.1. Pulling by a Strong-Arc __________________________________________ 139 IV.5.5.2. Pulling by a Connector of an _______________________________ 140
IV.6. Pattern of a Protocol Entity _______________________________________ 141 IV.6.1. Service Classes ___________________________________________ 142 IV.6.2. PPDP : Protocol Pattern Determination Process _________________ 148 IV.7. QNAP2 Implementation __________________________________________ 161 IV.7.1. Generic Procedure _________________________________________ 151 IV.7.2. BEB Stations _____________________________________________ 162 IV.7.3. Measurements Block_______________________________________ 162 IV.7.4. Protocol Entity as a QNAP2 Object____________________________ 163 IV.8. Conclusion _____________________________________________________ 163
x i
C h a p t e r V
Application of the Function Based Methodology to XTP
V.1. Introduction ____________________________________________________ 165 V.2. XTP Description_________________________________________________ 166 V.2.1. XTP Packets ______________________________________________ 167 V.2.1.1. XTP Header ___________________________________________________ 168 V.2.1.2. Control Segment ________________________________________________ 170 V.2.1.3. Data Segment __________________________________________________ 171
V.2.2. Protocol Transfer Functions __________________________________ 171 V.2.2.1. Selectable Error Control Functions___________________________________ 171 V.2.2.1.1. Acknowledgment_________________________________________ 171 V.2.2.1.2. Retransmission __________________________________________ 172 V.2.2.2. Selectable Flow Control Function ___________________________________ 174 V.2.2.3. Selectable Rate Control Function____________________________________ 174 V.2.2.4. Fragmentation/Coalescence Functions _______________________________ 175
V.2.3. Services Provided by XTP ___________________________________ 175 V.3. XTP Model _____________________________________________________ 176 V.3.1. Data Structures ____________________________________________ 177 V.3.2. Description of Functions _____________________________________ 178 V.3.3. Precedence Graphs _________________________________________ 181 V.3.4. __________________________________________________ 183 V.4. XTP Patterns for two Service Classes ________________________________ 185 V.4.1. XTP Providing a Stream Service ______________________________ 185 V.4.2. XTP Providing an Isochronous Stream Service ___________________ 186 V.5. Conclusion _____________________________________________________ 187
x i i
C h a p t e r V I
Conclusion and Future Directions
___________________________________________________________________ 188
A p p e n d i x A
Performance Evaluation : Paradigms, Techniques, and Tools
A.1. Introduction_____________________________________________________ 195 A.2. Modeling Paradigms ______________________________________________ 195 A.2.1. Queueing Networks ________________________________________ 196 A.2.2. Petri Net _________________________________________________ 196 A.3. Performance Evaluation Techniques_________________________________ 197 A.3.1. Measurements on Real Systems _______________________________ 197 A.3.2. Analytical Methods _________________________________________ 197 A.3.3. Simulation ________________________________________________ 198 A.4. Tools___________________________________________________________ 198 A.4.1. OPNET __________________________________________________ 198 A.4.2. BONeS___________________________________________________ 199 A.4.3. NESSY ___________________________________________________ 199 A.4.4. TOPNET _________________________________________________ 199 A.4.5. NetMod __________________________________________________ 200
x i i i
A p p e n d i x B
QNAP2 : Queueing Networks Analysis Package 2
B.1. Introduction ____________________________________________________ 201 B.2. Modeling Framework _____________________________________________ 202 B.3. QNAP2 Language _______________________________________________ 202 B.3.1. Command Language ________________________________________ 203 B.3.2. Algorithmic Language ______________________________________ 203 B.4. Modeling Mechanisms ____________________________________________ 203 B.5. QNAP2 Solvers__________________________________________________ 204 B.5.1. Analytical Solvers __________________________________________ 205 B.5.2. Markovian Solver__________________________________________ 205 B.5.3. Simulation ________________________________________________ 206 B.6. Statistic ________________________________________________________ 207 B.7. Conclusion _____________________________________________________ 207
A p p e n d i x C
Architecture Description Language
C.1. Key-Words ______________________________________________________ 208 C.2. Extended Backus Naur Form ______________________________________ 208
A p p e n d i x D
AMS Graphical User’s Interface
___________________________________________________________________ 212 References__________________________________________________________ 218