opnet modeler day 1. © copyright 2001 opnet technologies, inc. 2 introduction prerequisites...

100
OPNET Modeler Day 1

Upload: maximillian-melton

Post on 04-Jan-2016

233 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

OPNET ModelerDay 1

Page 2: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

2© copyright 2001 OPNET Technologies, Inc.

Introduction

• Prerequisites

– Ability to understand C or C++

– Basic understanding of networks

• Class moves quickly

• Ask questions as they come up

Page 3: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

3© copyright 2001 OPNET Technologies, Inc.

Course Outline

• Modeling Framework

• Other Editors– Packet Format Editor

– ICI Editor

– PDF Editor

– Antenna Pattern Editor

– Modulation Curve Editor

– Simulation Sequence

– Analysis Configuration

– Animation Viewer

• Node Modeling

Page 4: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

Modeling Framework

Page 5: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

5© copyright 2001 OPNET Technologies, Inc.

• Conceptual Goals

– Objects available in the modeling domains

– Data transfer between objects in a simulation

– Network, node, and process models

– Object attributes

– Object naming paradigm

– Role of packets in a simulation

Agenda

Page 6: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

6© copyright 2001 OPNET Technologies, Inc.

The Three-Tiered OPNET Hierarchy

• Three domains: network, node, and process

• Node model specifies object in network domain

• Process model specifies object in node domain

Process model rip_udp_v3

Page 7: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

7© copyright 2001 OPNET Technologies, Inc.

Network Domain: Network Objects

Generic Devices Vendor Devices

• Network models consist of nodes, links and subnets

• Nodes represent network devices and groups of devices– Servers, workstations, routers, etc.

– LAN nodes, IP clouds, etc.

• Links represent point-to-point and bus links

• Icons assist the user in quickly locating the correct nodes and links

• Vendor models are distinguished by a specific color and logo for each company

Page 8: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

8© copyright 2001 OPNET Technologies, Inc.

Network Objects - Nodes

• Node objects are represented by icons. Different icons may represent the same underlying object. Icons shown are the default icons.

• A fixed node remains stationary during a simulation.

• A mobile node changes position during a simulation, following an assigned trajectory or using vector based mobility (ground speed, bearing, and ascent rate). Trajectories can easily be created graphically in Modeler, or by ASCII text files.

• A satellite node changes position during a simulation, following an assigned orbit. Modeler has supporting tools to create and view orbits.

Satellite

Mobile

Fixed

Page 9: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

9© copyright 2001 OPNET Technologies, Inc.

• Organize network components into a single object

• Represent identical constructs in an actual network

• Have no behavioral aspects• May be stationary, mobile, or satellite

3 Subnet Types

Network Objects - Subnets

Page 10: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

10© copyright 2001 OPNET Technologies, Inc.

Network Objects - Links

• Link objects model physical layer effects between nodes, such as delays, noise, etc.

A radio link, established during a simulation, can be created between any radio transmitter-receiver channel pair. Satellite and mobile nodes must use radio links. Fixed nodes may use radio links. A radio link is not drawn but is established if nodes contain radio transceivers.

A bus link transfers data among many nodes and is a shared media.

A point-to-point link transfers data between two fixed nodes.

Radio link

Page 11: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

11© copyright 2001 OPNET Technologies, Inc.

Node Domain

• Basic building blocks (modules) include processors, queues, and transceivers– Processors are fully programmable via their process model– Queues also buffer and manage data packets– Transceivers are node interfaces

• Interfaces between modules– Packet streams– Statistic wires

Receiver

Transmitter

Processor

Queue

Stat Wire Packet Stream

Page 12: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

12© copyright 2001 OPNET Technologies, Inc.

Node Objects - Modules

• Modules are the basic building blocks of node models. Modules include processors, queues, transceivers, and generators.

• Processors are the primary general purpose building blocks of node models, and are fully programmable.

• Queues offer all the functionality of processors, and can also buffer and manage a collection of data packets.

• Generators model a probabilistic packet source.

Processor

Queue

Page 13: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

13© copyright 2001 OPNET Technologies, Inc.

Transmitters and Receivers

• Transmitters are the outbound interfaces between objects inside a node and communication links outside it.

• Receivers are the inbound interface.

Page 14: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

14© copyright 2001 OPNET Technologies, Inc.

Transmitters and Receivers

• Three types of transmitter and receiver modules correspond to different models of communication links.

• Antennas may be used with radio transceivers to specify antenna properties.

Bus transceiversPoint-to-point transceivers Packet radio transceivers

Transmitter Receiver Transmitter Receiver Transmitter Receiver

Antenna

Page 15: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

15© copyright 2001 OPNET Technologies, Inc.

Module Connections

• Packet streams carry data packets from a source to a destination module.

• Statistic wires carry a single data value from a source to a destination module. In this case, hub_rx0 might report a packet reception to mac.

Page 16: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

16© copyright 2001 OPNET Technologies, Inc.

Sample Node Model

• Node models support:

– Layering of protocol functions

– Dynamic inter-module monitoring

– Arbitrary node architectures

– Definition of node classes through attribute promotion

ethernet_wkstn_adv Node Model

Page 17: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

17© copyright 2001 OPNET Technologies, Inc.

• OPNET process models consist of– State transition diagrams

– Blocks of C code

– OPNET Kernel Procedures (KPs)

– State variables

– Temporary variables

• A process is an instance of a process model

• Processes can dynamically create child processes

• Processes can respond to interrupts

Process Domain

Page 18: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

18© copyright 2001 OPNET Technologies, Inc.

Process Model Objects - States

• The initial state is the place where execution begins in a process.

• A forced state does not allow a pause during the process.

• An unforced state allows a pause during the process.

• Later chapters will fully discuss the differences between these types of states.

Initial state Forced state Unforced state

red redgreen

Page 19: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

19© copyright 2001 OPNET Technologies, Inc.

State Connections - Transitions

• Transitions describe the possible movement of a process from state to state and the conditions allowing such a change.

• Exactly one condition must evaluate to true.

• If the condition statement (x == y) is true, the transition executive (Reset_Timers;) is invoked.

Transition executiveCondition statement

Page 20: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

20© copyright 2001 OPNET Technologies, Inc.

Executive blocks

• Each state has two executive blocks:– Enter executives are invoked on entering a state.

– Exit executives are invoked before exiting a state.

Page 21: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

21© copyright 2001 OPNET Technologies, Inc.

Kernel Procedures - Introduction

• KPs are pre-written functions that abstract difficult, tedious, or common operations. KPs free users from addressing memory management, data structure, handling event processing, etc.

• All KPs begin with prefix “op_”.

• KPs focus on communication modeling.

Page 22: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

22© copyright 2001 OPNET Technologies, Inc.

Kernel procedures

Packet Package:op_pk_create ()op_pk_create_fmt ()op_pk_copy ()op_pk_get ()op_pk_total_size_get ()op_pk_nfd_set ()op_pk_nfd_get ()op_pk_send ()op_pk_send_delayed ()op_pk_destroy ()

Subq Package:op_subq_pk_insert ()op_subq_pk_remove ()

Stat Package:op_stat_reg ()op_stat_write ()op_stat_local_read ()op_stat_scalar_write ()

Interrupt Package:op_intrpt_schedule_self ()op_intrpt_type ()op_intrpt_strm ()op_intrpt_code () Simulation and

Event Packages:op_ev_cancel ()op_sim_time ()

ID, Topo and Internal Model Access Packages:op_id_self ()op_topo_parent ()op_topo_child ()op_ima_obj_attr_get ()

Distribution Package:op_dist_load ()op_dist_outcome ()

• Commonly used KPs:

• Naming convention for Kernel Procedures -

– op_<family name describing object >_<action>

Page 23: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

23© copyright 2001 OPNET Technologies, Inc.

• Proto-C consists of:– State transition diagrams

– The complete C programming language

– The library of OPNET Kernel Procedures (KPs) State variables (private to each process)

– Temporary variables

What is Proto-C™ ?

Page 24: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

24© copyright 2001 OPNET Technologies, Inc.

Object Attributes

• Attributes are parameters of an object that can configure its behavior.

• Attributes are dynamically changeable during simulation.

• Processes have access to all object attributes.

• Different attribute values allow objects of the same type to behave differently.

Page 25: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

25© copyright 2001 OPNET Technologies, Inc.

Object Attributes

Because the attribute pk_gen_rate is different, the generators have different traffic generation rates, though they use the same process model.

Page 26: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

26© copyright 2001 OPNET Technologies, Inc.

Assigning Attribute Values

• You can assign attribute values by right-clicking on an object and selecting or specifying the attribute value.

• Attributes are of a certain type. Commonly used types are listed.

Type Definition

Integer Whole numbers: storage capacities; transmission window size

Double Decimal numbers: processing speeds; timer values

String General text info: statistic names, object names, options

Toggle True/false condition: status flags, semaphores

Typed file User defined file: routing tables, address mappings, script file

Nested, complex data: routing table, circuit table, subqueuesCompound

Page 27: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

27© copyright 2001 OPNET Technologies, Inc.

Promoting Attribute Values

• You can “promote” an attribute. This means that you assign a value at a higher hierarchical level.

• Passing control of a lower-level object to a higher level provides more flexibility in how objects are used.

• You can leave an attribute unspecified at even the network level, and assign a value at run time.

Page 28: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

28© copyright 2001 OPNET Technologies, Inc.

Promoting Attributes Example

• When an attribute assignment is made, promotion stops. An attribute value was assigned at mktg_lan, so the attribute does not appear in the object corporate.

• Attribute names are used as prefixes at each new level of the object hierarchy.

buf

router

mktg_lan

priority has been promoted from buf and set at mktg_lan

buf.priority: promoted

priority: promoted

router.buf.priority: high

corporate

Page 29: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

29© copyright 2001 OPNET Technologies, Inc.

Model Hierarchy

• The internal structure and behavior of each node is dictated by the node model, specified in the model attribute. The node model is created in the Node Editor.

Page 30: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

30© copyright 2001 OPNET Technologies, Inc.

Model Hierarchy

• The internal structure and behavior of each processor and queue is dictated by the process model specified in the process model attribute. The process model is created in the Process Editor.

Process model rip_udp_v3

Page 31: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

31© copyright 2001 OPNET Technologies, Inc.

Object Naming

• Each object has a unique name that defines its place in the hierarchy.

• Format of name is:

network_type.subneta.subnetb...subnetz.node_name.

object_name

• Each object has one and only one parent object.

Page 32: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

32© copyright 2001 OPNET Technologies, Inc.

Object Naming

full name of generator is usa.dc.opnet.wk9.gen

Page 33: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

33© copyright 2001 OPNET Technologies, Inc.

Data Flow Among Objects

• Packets are the basic unit of information exchange in Modeler simulations.

• Information is exchanged among different objects via various communication mechanisms:– Node to node: Links

– Module to module: Packet streams and statistic wires

– State to state: Transitions

Page 34: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

34© copyright 2001 OPNET Technologies, Inc.

Packets

• Packets are: – The information-carrying entity that

circulates among system components.

– General data structures, organized into fields of information you define.

– Dynamic simulation entities that are created and destroyed as the simulation progresses.

• A single system may rely on multiple types of packets with different formats.

Page 35: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

35© copyright 2001 OPNET Technologies, Inc.

Communication Mechanisms - Links

• In the network domain, packets flow between nodes via links.

Point-to-point and bus links are visible.

Radio links are not visible.

Page 36: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

36© copyright 2001 OPNET Technologies, Inc.

Communication Mechanisms – Packet Streams & Statistic Wires

• Packets flow between modules via packet streams. At the end of each stream is a built-in packet buffer.

• A statistic wire (statwire) communicates a single value that may cause an interrupt to occur at the destination module.

Page 37: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

37© copyright 2001 OPNET Technologies, Inc.

Summary

• Network Objects: Nodes (fixed, mobile, satellite), Subnets, and Links (point-to-point, bus, radio).

• Node Objects: Modules (Processors, Queues, Generators, Transmitters, Receivers) and Connections (Packet Streams and Statistic Wires).

• Process Model Objects: States (initial, forced, unforced) and Transitions.

• Kernel Procedures: Pre-written functions that abstract communication modeling operations.

• Object Attributes: Dynamic parameters that can configure the behavior of an object.

• Packets : Basic units of information exchange in OPNET simulation.

Page 38: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

Other Editors

Page 39: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

39© copyright 2001 OPNET Technologies, Inc.

Agenda

• Conceptual Goals

– Modeler’s architecture and philosophy.

– Brief look at all other Editors

– Hierarchy of modeling

Page 40: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

40© copyright 2001 OPNET Technologies, Inc.

Modeling Approach

• Modeler provides a structured modeling approach:– Hierarchical models parallel the layered structure of

communications networks and distributed systems:

Node models represent data flow between functional blocks.

Network models consist of nodes and links.

Each state of an STD can contain general logic expressed in C.

State transition diagrams (STDs) model node element behavior.

Page 41: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

41© copyright 2001 OPNET Technologies, Inc.

Modeler Editors

• A variety of editors allow the user to view and configure different layers of the network structure.

Page 42: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

42© copyright 2001 OPNET Technologies, Inc.

Lab : Project Editor

• Define topology of your network

• Represent the actual topology using node and link objects

• Select objects from an object palette.

Page 43: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

43© copyright 2001 OPNET Technologies, Inc.

Lab : Node Editor

• Define node architecture

• Represent data flow within a communications device (router, bridge, etc.)

• Depict layering of protocols

• View the Ethernet server node.

Node domain

Page 44: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

44© copyright 2001 OPNET Technologies, Inc.

Lab : Process Editor

• Define control flow within programmable elements of objects in node domain

• Represent models in Proto-C language (to be described in detail in a later chapter) designed for protocol and algorithm development

• Use industry-standard graphical state transition diagrams to define control logic

Process Domain

Page 45: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

45© copyright 2001 OPNET Technologies, Inc.

Example : Link Editor

• Create a user defined link model• Represent the behavior of a link by assigning values to various attributes.

Page 46: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

46© copyright 2001 OPNET Technologies, Inc.

Packet

• An object that contains formatted information that can change dynamically

• Stored by and transferred between objects in each of the modeling domains– Node domain - streams

– Network domain - links

• Composed of three main storage areas– User-defined

– Pre-defined

– Transmission data attributes

Page 47: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

47© copyright 2001 OPNET Technologies, Inc.

Packet Format

• Defines the user-defined internal structure of packets as a set of fields– Unique name

– Data type (integer, floating point, structure, packet, information)

– Size (in bits)

– Default value

• Referenced as attributes of generator modules and KP (Kernel Procedure) calls

Page 48: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

48© copyright 2001 OPNET Technologies, Inc.

Example : Packet Format Editor

• Create a user-defined packet

• Represent the structure of a packet by adding and configuring various field attributes

Page 49: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

49© copyright 2001 OPNET Technologies, Inc.

Packet Format Editor

1. From File menu, choose New -> Packet Format Editor.

2. From File menu, choose open -> Packet Format to view or edit a defined Packet Form

3. Left-click the create new field action button to add new field objects to the workspace.

Page 50: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

50© copyright 2001 OPNET Technologies, Inc.

Packet Format Editor

5. Save the packet model by choosing save as from the File menu.

4. Right-click on the field object to modify it’s attributes.

Page 51: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

51© copyright 2001 OPNET Technologies, Inc.

Antenna Pattern

• A graphical or functional definition of an antenna’s directional gain

• Gain is defined as the amount of amplification or attenuation applied to an incoming or outgoing communications signal– Units in decibels (dB)

– Unity gain (1) is 0 dB

Page 52: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

52© copyright 2001 OPNET Technologies, Inc.

Antenna Pattern Table

• A three-dimensional table that maps direction angles (phi) and theta) into antenna gain values

• Defined using two-dimensional, cone-shaped slices with respect to angle (phi)

• Gain is set graphically with respect to angle (theta)

Page 53: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

53© copyright 2001 OPNET Technologies, Inc.

Example : Antenna Pattern Editor

• Create custom antenna patterns for use in radio modeling

• Represent the gain of an antenna in dB in three dimensions.

Antenna Pattern

Antenna pattern viewer

Page 54: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

54© copyright 2001 OPNET Technologies, Inc.

Antenna Pattern Example

• Antenna Pattern

Antenna Pattern

Antenna gain (ordinate) with respect to

angle (abscissa)

Two-dimensional slice with respect to

angle F (phi)

(phi)

(theta)

Page 55: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

55© copyright 2001 OPNET Technologies, Inc.

Antenna Pattern Table Editor

2. From File menu, open the existing Antenna Pattern to view or edit. 4. Save the model by choosing save

as from the File menu

1. From File menu, choose New -> Antenna Pattern .

3. Create, edit, or view the Antenna Pattern .

Page 56: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

56© copyright 2001 OPNET Technologies, Inc.

Additional Antenna Pattern Action Buttons

• Normalize Function – scales a graph either up or down so that the total gain over 360O is zero (0 dB) for an antenna.

• Set Sampling Resolution – set the number of phi planes.

Page 57: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

57© copyright 2001 OPNET Technologies, Inc.

Interface Control Information (ICI)

• Collections of data used to formalize interrupt-based inter-process communications

• Generally, a structure of state information that can be associated with an interrupt at the interrupt source and then extracted at the interrupt destination

• Used to pass indications and requests between protocol layers.

Page 58: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

58© copyright 2001 OPNET Technologies, Inc.

ICI Editor

• Define the fields within “interface control information” formats

• Represent the structure of an ICI format by adding and configuring various attributes.

Page 59: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

59© copyright 2001 OPNET Technologies, Inc.

ICI Format

• Defines the internal structure of ICI’s as a set of fields– Unique name

– Data type (integer, double, structure)

– Default value

• Referenced in ICI Kernel Procedure calls

Page 60: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

60© copyright 2001 OPNET Technologies, Inc.

ICI Format Example

• Bridge Indication ICI format

Page 61: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

61© copyright 2001 OPNET Technologies, Inc.

ICI Format Editor

2. From File menu, open the existing ICI format to view or edit.

4. Save the model by choosing Save As from the File menu

1. From File menu, choose New -> ICI Format .

3. Create, edit, or view ICI fields.

Page 62: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

62© copyright 2001 OPNET Technologies, Inc.

Modulation Curve Editor

• Create modulation tables for radio modeling

• Represent the dependence of bit-error-rate (BER) on the effective signal-to-noise ratio (Eb/No).

Page 63: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

63© copyright 2001 OPNET Technologies, Inc.

Modulation Function

• A mapping between effective signal-to-noise ratio (Eb/N0) values measured on a radio communications link, and the expected value of the bit error rate (BER) that would result

• Generally used to characterize the vulnerability of an information coding and modulation scheme to noise.

Page 64: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

64© copyright 2001 OPNET Technologies, Inc.

Modulation Curve

• A list of Eb/N0 - BER values that approximates a continuous modulation function

• Defined graphically

• Stored in a look-up table.

Page 65: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

65© copyright 2001 OPNET Technologies, Inc.

Modulation Curve Editor

3. Create, edit, or view the Modulation Curve.

2. From File menu, open the existing modulation curve to view or edit. 4. Save the curve by choosing save

as from the File menu

1. From File menu, choose New -> Modulation Curve

Page 66: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

66© copyright 2001 OPNET Technologies, Inc.

Probability Density Function (PDF)

• Describes the spread of probability over a range of possible outcomes

• Uses– Generate random variable values

– Model the likelihoods associated with packet interarrival times

– Model probability of transmission error

Page 67: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

67© copyright 2001 OPNET Technologies, Inc.

PDF Table

• A list of discrete outcome-property pairs that approximates the continuous PDF

• Defined graphically

• Stored in a look-up table.

Page 68: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

68© copyright 2001 OPNET Technologies, Inc.

PDF Editor

• Create user-defined probability density functions

• Represent a PDF by establishing a list of discrete outcome-property pairs that approximate the continuous PDF.

Page 69: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

69© copyright 2001 OPNET Technologies, Inc.

PDF Format Editor

2. From File menu, open the existing PDF format to view or edit.

4. Save the model by choosing save as from the File menu

1. From File menu, choose New -> PDF Format .

3. Create, edit, or view the PDF.

Page 70: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

70© copyright 2001 OPNET Technologies, Inc.

Additional PDF Action Buttons

• Add Impulse – adds an impulse to a PDF

• Normalize Function – scales a graph either up or down so that the total probability for all outcomes is unity (1) for a PDF.

Page 71: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

71© copyright 2001 OPNET Technologies, Inc.

Probe Model Editor

• Specify which statistics should be collected at which locations

• Collect built-in statistics or specify your own statistics to be collected

• Specify animation views and format.

Page 72: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

72© copyright 2001 OPNET Technologies, Inc.

Example: Creating a Node Statistic Probe

1) Select the Probe of Interest from the toolbar.

2) Right-click on the probe created and select “Choose Probed Object”

Node Statistic Probe

Page 73: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

73© copyright 2001 OPNET Technologies, Inc.

Example: Creating a Node Statistic Probe

3) Select the Node of interest.

4) Right-click on the probe created and select “Choose Statistic”

Note: Sometime, a submodule needs to be chosen.

Page 74: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

74© copyright 2001 OPNET Technologies, Inc.

Example: Creating a Node Statistic Probe

5) Select a Statistic.

6) Save your Probe Model. File / Save.

Page 75: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

75© copyright 2001 OPNET Technologies, Inc.

Lab : Simulation Sequence Editor

• Create user defined configurations for single simulations or a batch of simulations

• Assign values for promoted attributes.

Page 76: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

76© copyright 2001 OPNET Technologies, Inc.

Analysis Configuration Editor

• Present graphs of data collected during simulations

• Operations can be applied to data sets to produce histograms, PDFs, CDFs, confidence intervals, and single-input filters.

Page 77: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

77© copyright 2001 OPNET Technologies, Inc.

Filter Model Editor

• Allows the user to create custom mathematical filters for further analysis of the results.

• Build hierarchical filter models from pre-defined filter components.

Page 78: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

78© copyright 2001 OPNET Technologies, Inc.

Other C / C++ File Editors

• Other File Editors:– External Source

• Create / Compile External Source Code

– Pipeline Stage• Create / Review / Modify / Compile Pipeline Stage Models

– Generic Data File• View .gdf files

Example:

.gdf of exported routing table

Example:Default pt-pt transmission delayPipeline stage

Page 79: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

79© copyright 2001 OPNET Technologies, Inc.

Animation Viewer

• Dynamic, highly visual presentation of model behavior

• Useful in debugging in conjunction with Modeler’s text-based debugger, ODB.

Page 80: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

80© copyright 2001 OPNET Technologies, Inc.

Animation

• An animation can be viewed using the OPNET utility, op_vuanim.

• This capability is valuable for presentation purposes and better understanding of the behavior of the model.

• There are two types of animation in OPNET.– Packet Flow Animation

– Statistic Animation

Page 81: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

81© copyright 2001 OPNET Technologies, Inc.

Animation - Automatic

• Packet flow animation displays node and packet movement.

• This is an effective way to graphically depict the movement of traffic throughout your network.

• To collect packet flow animation:– Open the desired project-scenario.

– Enter the desired subnet.

– Right-click on the project workspace and select “Record Animation.”

– Run the simulation.

Page 82: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

82© copyright 2001 OPNET Technologies, Inc.

Animation - Statistic

• Statistic animation allows the user to view the statistics in a graph format as they are being collected.

• In “Choose Statistics”, right-click the Statistic and select “Record Animation”.

Page 83: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

83© copyright 2001 OPNET Technologies, Inc.

Example : Animation

• Open the project “anim_lab”.

• Right click in the project workspace and select “Record Animation.”

• Configure the simulation to run for a duration of 20 seconds.

• Run the simulation.

Page 84: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

84© copyright 2001 OPNET Technologies, Inc.

Example : View Animation

• From the “Results” pull-down menu, select “Play Animation” and wait for the animation viewer to pop up.

• Click on the play button to view the animation.

• Note that op_vuanim’s “VCR-like” controls make it easy to use.

Page 85: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

Node Modeling

Page 86: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

86© copyright 2001 OPNET Technologies, Inc.

Agenda

• Conceptual Goals– Creating and configuring nodes

– Configuring transceivers

– Configuring traffic generators

– Testing predicted behavior

– Deriving new models

• Tools– Node Editor

– Link Editor

– Probe Editor

Page 87: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

87© copyright 2001 OPNET Technologies, Inc.

Sequence of Events

Follow these steps:

1. Understand the problem:– Understand the network or system to be modeled.

– Understand the questions to be answered by the model.

2. Create models:– Create the node models first.

– Create the network model.

3. Set probes to collect statistics.

4. Configure simulation.

5. Determine expected output.

6. Run the simulation.

7. Analyze output.

8. Compare actual results to expected output. Explain any differences.

Page 88: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

88© copyright 2001 OPNET Technologies, Inc.

• Create descriptive names for nodes, modules, network models and node models.

• Create node models first, and only then the network model.

• To determine a particular button’s function, place the mouse on it and read the explanatory text in the display areas.

• Check link consistency before exiting the Network Editor.

• To avoid confusion, you may want to exit each editor as you finish using it.

General Hints

Page 89: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

89© copyright 2001 OPNET Technologies, Inc.

Node Editor

• The Node Editor provides the resources necessary to model the internal functions of nodes.

• Users have access to different modules which are used to model internal aspects of node behavior.

• Modules represent the internal capabilities of a node such as:•Data creation•Transmission•Reception•Storage•Internal routing•Queuing

Page 90: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

90© copyright 2001 OPNET Technologies, Inc.

Node Editor

ToolbarToolbar

Node WorkspaceNode Workspace

Create queue Create module connectionPacket stream / statistic wire / tx/rx association

Create transceivers (tx/rx)point-to-point / bus / radio / antenna

Create processor

Page 91: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

91© copyright 2001 OPNET Technologies, Inc.

Processor. A module that represents the most general building block of node models. The behavior of a processor can be completely specified by the user and its links can be arbitrarily connected to other modules.

Queue module. A module that provides a superset of the functionality of processor modules. Queue modules can execute an arbitrary process model that describes the behavior of a particular process or protocol, and can be connected via packet streams to other modules.

Node Editor - Toolbar

Page 92: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

92© copyright 2001 OPNET Technologies, Inc.

Statistic wire. A connection between modules that conveys numeric values between devices or processes in the same node. Statistic wires are primarily used to allow processes to monitor changes in state and performance of the devices that make up a node, and to create a simple signaling mechanism between processes.

Logical association. A connection used to indicate that a relationship exists between two modules in a node model, for example, between a receiver and transmitter used as a pair. Logical associations do not carry any data.

Packet stream. A connection between modules that carries data packets from a source module to a destination module. They represent the flow of data across the hardware and software interfaces within a communications node

Node Editor - Toolbar

Page 93: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

93© copyright 2001 OPNET Technologies, Inc.

Transmitters: the outbound interface between packet streams inside a node and communications links outside the node.

Receivers: the inbound interface between communications links outside a node and packet streams inside a node.

Point-to-point

Bus

Radio

Point-to-point

Bus

Radio

Antenna: A module that is used to specify the antenna properties for radio transmitter or receiver modules.

Antenna

Node Editor - Toolbar

Page 94: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

94© copyright 2001 OPNET Technologies, Inc.

• The “Node Interfaces” option allows you to specify various characteristics of the node.

* Node types (fixed, mobile, satellite)

* Keywords

* Attributes

* Node Documentation

* Comments

Specifying Node Interfaces

Page 95: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

95© copyright 2001 OPNET Technologies, Inc.

Specifying Available Node Statistics

• Node Statistics allows the user to select which statistics can be chosen for collection from within the Project Editor.

Page 96: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

96© copyright 2001 OPNET Technologies, Inc.

• If a statistic is not promoted, a user can still collect it using the “Probe Editor”.

• Selecting a statistic from the “Available Statistics” table adds the statistic to the “Statistic Promotion” table.

• By selecting an empty field in the “Orig. Name” column, a table of available statistics appears.

Specifying Available Node Statistics

Page 97: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

97© copyright 2001 OPNET Technologies, Inc.

Node Modeling: Lab

• Lab Book: Lab #10

• The Worst National Bank wants to model the flow of bank transactions (represented as packets) from Washington, D.C. to Philadelphia

– Bank transactions originate in Washington, D.C. and are routed to Philadelphia via a modem at 9,600 bits/second.

– The size of a transaction varies according to a normal distribution with a mean size of 3,200 bits and a variance of 400 bits.

– Transactions are modeled as exponential interarrivals, with a mean interarrival time of 0.5 sec/trans.

• Analyze the system in steady state– Does the queue size of the WDC transmitter steadily increase?– What is the throughput (in bits/second) at the WDC transmitter?– What is the throughput (in bits/second) at the Philadelphia receiver?– What is the utilization of the DC-to-Philadelphia link?

Page 98: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

98© copyright 2001 OPNET Technologies, Inc.

Lab : Creating a Link Model

• Lab Book: Lab #11

• Create a custom link– Point-to-point– Simplex or Duplex– Data rate of 9600 bps.

Page 99: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

99© copyright 2001 OPNET Technologies, Inc.

Lab: Creating a Network

• Lab Book: Lab #12– Create a new project

– Place topology

– Choose Statistics

– Run Simulation

– View Results

Page 100: OPNET Modeler Day 1. © copyright 2001 OPNET Technologies, Inc. 2 Introduction Prerequisites –Ability to understand C or C++ –Basic understanding of networks

100© copyright 2001 OPNET Technologies, Inc.

Node Modeling: Summary

• Modules include processors, queues, transceivers, and antennas

• Modules are connected with packet streams and stat wires

• Node statistics configured

• Lab accomplishments– Built two node models

• Generator to send out packets

• Receiver to accept and destroy packets