Introduction of OPNET
Optimized Network Engineering Tools (OPNET) is a comprehensive engineering system capable of simulation large communications networks with detailed protocol modeling and performance analysis. OPNET has been designed to provide a comprehensive work environment for the network modeler that takes advantage of the sophisticated graphics of engineering workstations. The tools provided by OPNET from a tightly-integrated system with the following principle features
•Domain-Specific, Hierarchical Models -OPNET is designed specifically for the development and analysis of communications networks, and provides extensive detail not available in simpler resource-based simulation packages.
•Models of network hardware and software are hierarchically structured, allowing extensive reuse of developed models in different simulations. Graphical Specification of Models – Wherever possible, specifications is entered graphically with specialized editors. These editors provide an efficient medium for design capture via a consistent set of modem user interface methods such as mouse-driven menus and icons.
•Automatic Simulation Generation – OPEN! reduces the effort required to develop a simulation by providing an efficient event-driven simulation kernel, libraries of communications building blocks, and compilers that take the design specification and automatically generate an executable simulation. The extensive software development process typically associated with complex system simulation is thus drastically reduced.
• Analysis Tool – Design debugging, evaluation, and trade-off analysis require large volumes of simulation results to be interpreted by the engineer. A set of analysis tools and an interactive debugger provide sophisticated data reduction techniques to summarize simulation results into easily interpreted graphical form, and to monitor model behavior in detail.
• Flexibility and Detailed Modeling – While much of the structure model specification in OPNET is performed graphically, models of protocols and algorithms employ a hybrid approach called proto-c, which allows users to embed C language code within a graphically specified finite state machine.
The specification of processes in C is facilitated by an extensive library of support procedures which provide a wide range of simulation service. Also, code specified externally to the OPNET system may be linked to OPNET produced simulations. This ability to integrate fully general high-level- language code gives the user a very high degree of flexibility in constructing models at any level detail.
OPNET can be used in many diverse application areas of communication networks. Some examples of possible applications include local area networks, mobile packet radio networks, ISDN architecture, distributed sensor and control networks, and tactical networks.
OPNET simulations are based on four separate modeling domains called Network, Node, Process, and Linkillustrates, network models rely on the definition of the node models which in turn incorporate process models. Also, link models are used to characterize links in the network domain. The design methodology for simulation is usually bottom-up in that the user first creates process models, then constructs node models which incorporate the processes, and finally constructs network models that are populated with node models
Communicating through links.
Process models are specified in the proto-c language which uses a graphical editor to capture the structure of the process in the form of a finite state machine (FSM). The FSM contains the logic of the process model within its states and transitions. Process models make use of a library of kernel procedures that support access to packets, network variables, statistic collection, packet communication, and another simulation service.
The link domain allows the incorporation of custom or user-specific link models within OPNET simulation. The communication link between each transceiver pair is modeled as a pipeline which provides flexibility in specifying the transmission media between any two nodes. Link models are written directly in C and are linked to the simulation.
The node domain consists of a set of modules that can be interconnected from arbitrarily complex node architectures. The processor and queue modules execute process models specified as finite state machines. The generator module stochastically produces packets according to user-specified Probability Density Function. Transmitter and receiver modules are the interface to the link-level modules which transfer packets between nodes.
IN the Network domain node models are instantiated and each instance may be assigned independent attributes including identification and position, and user-defined attributes. Within the top level of the network Editor, sub-network objects which provide an additional level of abstraction may also be created. There are physical linked nodes, radio nodes, mobile nodes, and satellite nodes in the network domain.
OPNET system is a set of tools that can be divided into three functional areas: Specification, Simulation, and Analysis. The specification area consists of the five graphical editors with which users specify their design; these are Network Editor, Node Editor, Process Editor, Parameter Editor, and Probe Editor. The simulation area consists of the Simulation Tool and Simulation Kernel. The analysis area consists of the Analysis Tool, which processes and graphically presents simulation results, and the Filter Editor, which is used to construct specialized result-processing filters. These three areas are supported graphically by an encompassing window management system called the Tool
The tool is used to specify network models, which consist of subnetwork and node objects. Node objects are a physical instantiation of node models built in the Node Editor, while subnetwork as well as the top or global modeling level, nodes may be placed on a dimension plane for those models in which physical location is relevant. Because the Network Editor represents the most encompassing modeling in OPNET, it also provides the operations necessary to bind together all lower-level specifications into a single executable simulation.
This tool is used to specify node models, which consist of parameterized modules interconnected in an arbitrarily complex graph to represent the information flow and structure aspects of a particular class of communications node. The supported module types include general processors, generators, queues, transmitters and receivers, and antennas.
This tool is to specify process models that represent tools, algorithms, or in general, decision-making processes. The specifications are based on proto-c language Finite State Machine representations and include the names of states, transitions between states, the conditions for each transition, the actions which are taken upon entering or exiting a state or making the transition, temporary and state variables, and formal attributes of the process.
This tool includes several distinct editing modes that are used to specify a model parameter that is more complex than simple numeric or string input. Parameter types include functions of one or two independent variables, which are specified graphically, and data tables, which are specified via a spreadsheet-like interface. The parameters created in the editor are Probability Density Function (PDF), Packet Formats, Interface Information (ICl) formats, and additionally for OPNET/B, Antenna Patterns, and Modulation function.
This tool is used to specify data collection requests which may be applied to a simulation at run time to cause the executing model to place specific data into an output file. A file created in the Probe Editor consists of a list of probes each of which hierarchically references a statistic, a module, a node, and a subnetwork.
The simulation tool provides an environment for setting up one or more simulation runs, specifying their input parameters, and directing their collected data into named output files. The Simulation Tool uses a data table for the specification of simulations and their parameter.
This tool is used to analyze simulation resulting in data that has been requested using probes defined in the Probe Editor or collected via global statistic reporting mechanisms. Data vectors can be plotted with a variety of graph types. Scaler values obtained from multiple simulation runs can be collated and plotted to perform sensitivity analyses for the user-defined independent model parameters.