--------------------------------------------------------------------------------
Andrea Emilio Rizzoli
IDSIA
Galleria 2
CH - 6928 Manno
Switzerland A Collection of Modelling and
Simulation Resources on the
Internet
Last update: Dec 2005
Welcome to my list of simulation tools.
This is a review of simulation software that does not aim to be complete. Some of the links are outdated, and many more links are missing. If you want me to add a link to a particular tool, please send me an email
JavaScript must be enabled to display this email address. .
Andrea Rizzoli
Software libraries Visual Simulation Tools and Environments Simulation languages and integrated environments
Hybrid Simulation Simulation of Industrial Processes and Networked systems Simulation based on the World Dynamics approach
Bond graphs Web based and distributed simulation Modelling and simulation of Environmental Resources
Agent-based simulation Qualitative simulation
--------------------------------------------------------------------------------
Click on one of the above links to see a selection of simulation tools falling in the corresponding category.
--------------------------------------------------------------------------------
Software libraries
C++SIM C++ libreries for simulation of discrete event systems. A must have in your toolkit.
JavaSIM The Java version of C++SIM.
DSOL DSOL is an open source, java based, suite for continuous and discrete event simulation, developed at TU Delft, in the Netherlands. Among its general features: distributed 2D and 3D animation supported, various random number generators, GIS/CAD files supported, statistics, charts included. Continuous simulation is facilitated thanks to: numerical integration of n-th order ordinary differential equations with various numerical integrators supported; realtime clock simulator for Emulation. In discrete event simulation event scheduling is specified through scheduled method invokation and the Single threaded Process Interaction formalism is specified. It implements a flow "formalism" (Arena-like).
Simkit Simkit is a a package for creating Discrete Event Simulation (DES) models written in Java. Simkit is used as a platform to teach DES to Masters' students in Operations Research and MOVES at the Naval Postgraduate School and it is free software (LGPL).
SimTools, Version 2.7 A review of some simulation tools. Updated Jan 1995.
The Numerical Algorithms Group Ltd (NAG) Library of numerical algorithms
Netlib Library of numerical algorithms
Simulations in Java Sim Java library
CSIM18 Mesquite CSIM is a process-oriented, general purpose simulation toolkit written with general C language functions. The toolkit allows programmers to create and implement process-oriented, discrete-event simulation models.
Code by Law and Kelton Code examples in C and FORTRAN from the successful book "Simulation Modelling and Analysis, by A.V. Law and W.D. Kelton
SSS A library (coded in C) for discrete even system simulation by M. A. Pollatschek (visit his home page )
Mathtools A "portal" providing free access to a set of valuable resources for MATLAB, Excel, C, C++, Fortran and Java.
Warped WARPED is a public domain Time Warp simulation kernel written in C++. The distribution includes a plug-in sequential kernel to support comparative analysis to parallel executions. Primary development has been on Linux-based Pentium PCs, Sun Workstations, a 4-processor Sun SparcCenter 1000, and the Intel Paragon
baseSim iBright is the evolution of baseSim Simulation Components (formerly developed by solutionsBase, now defunct) are a suite of Visual Components designed to complement and extend the functionality of Borland Delphi v.4.0/5.0. They provide the means to produce simple or complex discrete-event Simulation Models.
OpEMCSS
The Operational Evaluation Modelling for Context-Sensitive Systems (OpEMCSS) is an add-on to the Extend simulation environment. It allows the user to represent Complex Adaptive Systems (CAS) with relative ease.
TomasWeb
TomasWeb offers object-oriented simulation tools that are implemented in Delphi 5 and 6. They are all based on the 'process oriented approach': a description-method, where several events (state changes) are combined into one single 'process'. It therefore supports process-oriented simulation. TomasWeb has been developed primarly for education and research. It is a free simulation tool. It can be downloaded, but you will need Borland's Delphi to use it.
HighMAST object-oriented simulation library HighPoint Software Systems offers an object oriented simulation class library and framework. It is written in C# , and consists of 200+ classes, 70+ interfaces. The HighMAST framework is built as an open architecture library on Microsoft's capable .NET technology base. HighMast has also been successfully employed to deliver Agent-based and Hybrid simulations.
DEx DEx, the Dynamic Experimentation toolkit, aims to provide a fast, flexible, and easy-to-use platform for developing, analyzing, and visualizing dynamic multi-body simulations. The kernel and utility classes constitute a framework that can be used alone in C++ or in combination with the DEx language, a domain-specific language based on C++ designed for rapid prototyping. It compiles under Linux and it is available for download.
Simulacón 4 Simulacón 4 is a Microsoft Excel add-on developed by José Ricardo Varela, which transforms your spreadsheet in a discrete-event simulation tool. Written in VBA (Visual Basic for Applications), it features 34 different random number function generators, it allows Monte Carlo simulation up to 65.000 iterations and it handles up to 150 different inputs and 20 outputs. The simulation results are dispayed in 4 different worksheets, one for the data, one for summary stats of all variables and one for detailed statistics of a selected variable. The last worksheet is dedicated to sensitivity analysis of the results.
SimulAr Argentina is a fertile land for Excel add-ons. SimulAr, by Luciano Machain, is an Excel add-on designed for risk analysis based on a Monte Carlo approach. With SimulAr the user has a wide number of random variate generators available. SimulAr is not a simulation tool itself (in the same way as Simulacón isn't), but it is very valuable if you want to build a simulation model using Excel. Remember that difference equations are easy to implement in Excel, DEVS are not so easy, so you might like to have a look at tools such as XLSsim.
Insight and XLSsim The Insight suite is a set of Visual Basic for Applications programs running in Excel and it provides: XLSim Standard Edition (Monte Carlo Simulation, with up to 10,000 iterations and 5 output cells, 5 parameters); QUEUE.xla, and Excel add-on that allows to simulate simple queues; Q-NET.xla for simulating Queuing Networks; Markov.xls for Markov Chain template. Insight also includes XLForecast for Time Series Analysis and XLTree for Standard Edition and Decision Trees
Visual simulation tools
Extend Extend (Imagine That, Inc.) is a simulation environment used to model, analyze, and optimize processes. It has a lot of features like libraries of components, hierarchies of models, linking with MS Office, and the ability to model continuous, discrete event, and hybrid systems. Extend has its own modeling language (ModL) which resembles C, and the ability to call code from other languages. It has specialized packages for Industrial Systems, Operations Research, and Continuous Process simulations.
SIMUL8 SIMUL8 by Visual Thinking Intl. It allows the user to pick from a predefined set of simulation objects and statistical distributions to create the model. It also allows hierarchical modelling. Main focus on discrete event simulation.
Lean Modeler Produced as ajoint venture of Simul8 and Visual8, it is a value stream mapping tool. That is, Lean-Modeler is a process simulation tool designed for practitioners of Lean manufacturing. It combines familiar value stream mapping components with the power of process simulation to generate performance results for current state and future state value streams. Lean-Modeler value stream models are composed of intelligent simulation objects that represent all of the standard value stream mapping components, including: Supplier, Customers, Shipping, Inventory, Process, Supermarkets, Safety Stock, Work Cell. Lean-Modeler also supports a variety of information components that can be used to enhance both the appearance and utility of a model. Use these components in combination with the process components to create value stream maps rich with information: Kaizen Events, Memo Boxes, Production Control, Clock Parameters, Trucking, Pieces Per Day Scheduling, Go-See Scheduling.
Dymola The modelling environment Dymola, by Dynasim, an object oriented tool for modelling and simulation of continuous systems. Focus on robotics and mechanical systems. Now integrated with Modelica modelling language. Modelica allows integration and reuse of code developed in different modelling and simulation environments.
VisSim VisSim (Visual Solutions), a visual block diagram language for nonlinear dynamic simulation. A block API allows users to create their own blocks in C/C++, FORTRAN, ADA, or Pascal. Addons allow real-time analog and digital I/O for real-time simulation, embedded system C code generation, optimization, neural nets, OPC, frequency domain analysis, scaled fixed point, IIR and FIR filter design. Demo available for download from the home page.
Awesim Awesim provides a simulation engine focused on the production of model animations thanks to Visual SLAM. Animations can be built graphically and the user can specify controls to build interactive simulations.
LabVIEW Labview (National Instruments): a visual programming environment, that enables interfacing with various measurement and laboratory devices. It now sports various simulation-relaated add-ons such as the NI LabVIEW SImulation module that allows to develop simulation models that acquire data in real-time using LabVIEW's data acquisition functions. It is also possible to import Simulink models in LabVIEW and to integrate Simulink models with a variety of real-time hardware I/O.
Goldsim
GoldSim is a general purpose simulator for nearly any kind of physical, financial or organizational system. Models are built graphically drawing an influence diagram of your system. Goldsim Academic is offered free for students, professors and teachers. Goldsim also provides a player that enables anyone to view your model, without requiring the installation of the full package. Goldsim also provides dedicated modules for specific issues such as contaminant transport, radionuclide decay. Goldsim simulation can also be run in a distributed environment thanks to the Godlsim DP component
BuildSim BuildSim, by Tritera, is an Integrated Environment for Design, Simulation and Analysis of Systems.
BuildSim is an interactive software application that integrates numerical analysis, block diagram mathematical representations, signal processing and
graphics in a graphical interactive environment.
It allows to generate source-code (C++ and Java). Available for Macintosh. There is a version available for download.
OptSim OptSim 4.0 is the result of the merge between the former OptSim 3.6 sample mode engine, implementing simulation in the time domain sample by sample using a linear convolution algorithm, and the LinkSIM block mode engine, impelenting the Frequency Domain Split Step. It is an intuitive modeling and simulation environment supporting the design and the performance evaluation of the transmission level of optical communication systems.
MicroSaint Micro Saint is a general purpose, flexible simulation software product. It has a graphical user interface and is based on a flow chart approach to modeling. Runs on Windows machines. Demo available for download.
EcosimPro EcosimPro is a continuous system simulator. It is capable of dealing with Differential Algebraic Equations.
It has a graphical user interface which facilitates the modeling task. Icons appearing in the model editor correspond to the real components of your system.
The user can specify the models using the dedicated EL language, which can call FORTRAN and C routines.
An interesting feature is the support of "simulation experiments" for a given model. A debugger is also available.
SimCreator SimCreator is a graphical simulation and modeling system. It is aimed at the simulation of continuous time systems.
It's interface is similar to Mathworks's Simulink. Simpler models can be connected to build complex models. Models can be nested. The graphical specification is then translated in C code. A beta version is avaliable for download , while a commercial version is expected for the 4th quarter of 2000.
Berleley Madonna A numerical simulation program for Macintosh and Windows computers. Designed to be a general solver of systems of ordinary differential equations. Developed at the University of California at Berkeley for teaching and research, it has been used for six years in classrooms and laboratories.
It is Shareware, download here .
XJ Technologies XJ Technologies provides a set of tools, all of them with a visual development environment, for different simulation fields: hybrid simulation (AnyLogic), parallel systems (Covers), and statecharts (AnyStates).
Simprocess Simprocess is an object-oriented, process modeling and analysis tool. It combines the simplicity of flowcharting with the power of simulation, statistical analysis, Activity-Based Costing (ABC), and animation.
SansGUI SansGUI is modeling and simulation environment for developing and deploying scientific and engineering simulators without writing any graphical user interface code. SansGUI is currently available for Microsoft Windows platforms. Microsoft Visual C++ and Compaq Visual Fortran are supported for creating highly interactive in-process simulators while other languages can be used to develop external process simulators.
SimCreator
SimCreator is a graphical simulation and modeling system. At the top level is a GUI interface that allows placement and connection of various components. Each component can either be a subgroup made up of additional components, or a C Code component.
It resembles Simulink in the "look-and-feel".
QX3D QX3D is an editor and a code generator that helps you visualize and animate your mechanical model. Just tell it the bodies to be connected, their geometric attributes (i.e. frame location,orientation), and the body shapes, then it will generate the VRML codes to visualize it for you. Large number of hapes can be assigned to each body. You can also animate it with thesimulation results base on your multibody dynamics simulation. Demos available.
SimCad Pro
SimCAD Pro is a Process Simulation and modeling tool, which allows top down modelling of complex industrial processes. The main process flow is defined and then each process cell is expanded into its individual processes. CreateAsoft, the maker of SimCad pro, also provides a viewer to show and distribute your simulations.
SIGMA
SIGMA claims to have been the first graphical simulation environment running on Windows. It is a valid eductaional tool, since it allows the modeller to describe the system using process flow charts. It is also able to manage complex systems, thanks to Event Graphs. These Event Graphs can be edited evend during the simulation.
Supplemental resources can be found on the OR and MS course at Cornell University, where SIGMA is used as a simulation tool in the classroom.
Visual Components
Visual Components provides tools to package complex automation systems into re-useable simulation components that are lightweight, easily customized and distributed via email. The re-useable visual components save automation companies costs in all phases of a system's life-cycle. These components implement COM interfaces and run in a Windows environment. The components are also scriptable using the Python language.
--------------------------------------------------------------------------------
網(wǎng)絡(luò)仿真軟件性能比較
http://www.51cto.com 2005-12-11 16:11 cunshen.cnblogs.com
網(wǎng)絡(luò)仿真技術(shù)是一種通過(guò)建立網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)鏈路的統(tǒng)計(jì)模型, 并模擬網(wǎng)絡(luò)流量的傳輸, 從而獲取網(wǎng)絡(luò)設(shè)計(jì)或優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)的仿真技術(shù)。由于仿真不是基于數(shù)學(xué)計(jì)算, 而是基于統(tǒng)計(jì)模型,因此,統(tǒng)計(jì)復(fù)用的隨機(jī)性被精確地再現(xiàn)。
網(wǎng)絡(luò)仿真技術(shù)具有以下特點(diǎn):一, 全新的模擬實(shí)驗(yàn)機(jī)理使其具有在高度復(fù)雜的網(wǎng)絡(luò)環(huán)境下得到高可信度結(jié)果的特點(diǎn)。二, 網(wǎng)絡(luò)仿真的預(yù)測(cè)功能是其他任何方法都無(wú)法比擬的;三,使用范圍廣, 既可以用于現(xiàn)有網(wǎng)絡(luò)的優(yōu)化和擴(kuò)容,也可以用于新網(wǎng)絡(luò)的設(shè)計(jì),而且特別適用于中大型網(wǎng)絡(luò)的設(shè)計(jì)和優(yōu)化;四,初期應(yīng)用成本不高, 而且建好的網(wǎng)絡(luò)模型可以延續(xù)使用, 后期投資還會(huì)不斷下降。
OPNET
產(chǎn)品性能簡(jiǎn)介:OPNET產(chǎn)品主要面向?qū)I(yè)人士,幫助客戶(hù)進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)、設(shè)備和應(yīng)用的設(shè)計(jì)、建設(shè)、分析和管理。OPNET的產(chǎn)品主要針對(duì)三類(lèi)客戶(hù),分成四個(gè)系列。三類(lèi)客戶(hù)是指:網(wǎng)絡(luò)服務(wù)提供商;網(wǎng)絡(luò)設(shè)備制造商和一般企業(yè)。
四個(gè)系列產(chǎn)品核心包括:1.ServiceProviderGuru:面向網(wǎng)絡(luò)服務(wù)提供商的智能化網(wǎng)絡(luò)管理軟件。是OPNET公司的最新產(chǎn)品。2.OPNET Modeler:為技術(shù)人員(工程師)提供一個(gè)網(wǎng)絡(luò)技術(shù)和產(chǎn)品開(kāi)發(fā)平臺(tái)。可以幫助他們?cè)O(shè)計(jì)和分析網(wǎng)絡(luò)、網(wǎng)絡(luò)設(shè)備和通信協(xié)議。3.ITGuru:幫助網(wǎng)絡(luò)專(zhuān)業(yè)人士預(yù)測(cè)和分析網(wǎng)絡(luò)和網(wǎng)絡(luò)應(yīng)用的性能,診斷問(wèn)題,查找影響系統(tǒng)性能的瓶頸,提出并驗(yàn)證解決方案。 4.WDM Guru,用于波分復(fù)用光纖網(wǎng)絡(luò)的分析、評(píng)測(cè)。
我使用的是OPNET Modeler8.1,所以就它和其他的網(wǎng)絡(luò)仿真軟件進(jìn)行比較。OPNET Technology公司的仿真軟件OPNET具有下面的突出特點(diǎn),使其能夠滿足大型復(fù)雜網(wǎng)絡(luò)的仿真需要:
1. 提供三層建模機(jī)制,最底層為Process模型,以狀態(tài)機(jī)來(lái)描述協(xié)議;其次為Node模型,由相應(yīng)的協(xié)議模型構(gòu)成,反映設(shè)備特性;最上層為網(wǎng)絡(luò)模型。三層模型和實(shí)際的網(wǎng)絡(luò)、設(shè)備、協(xié)議層次完全對(duì)應(yīng),全面反映了網(wǎng)絡(luò)的相關(guān)特性;
2. 提供了一個(gè)比較齊全的的基本模型庫(kù),包括:路由器、交換機(jī)、服務(wù)器、客戶(hù)機(jī)、ATM設(shè)備、DSL設(shè)備、ISDN設(shè)備等等;
3. 采用離散事件驅(qū)動(dòng)的模擬機(jī)理(discrete event driven),與時(shí)間驅(qū)動(dòng)相比,計(jì)算效率得到很大提高。
4. 采用混合建模機(jī)制,把基于包的分析方法和基于統(tǒng)計(jì)的數(shù)學(xué)建模方法結(jié)合起來(lái),既可得到非常細(xì)節(jié)的模擬結(jié)果,也大大提高了仿真效率。
5. OPNET具有豐富的統(tǒng)計(jì)量收集和分析功能。它可以直接收集常用的各個(gè)網(wǎng)絡(luò)層次的性能統(tǒng)計(jì)參數(shù),能夠方便地編制和輸出仿真報(bào)告。
6. 提供了和網(wǎng)管系統(tǒng)、流量監(jiān)測(cè)系統(tǒng)的接口,能夠方便的利用現(xiàn)有的拓?fù)浜土髁繑?shù)據(jù)建立仿真模型,同時(shí)還可對(duì)仿真結(jié)果進(jìn)行驗(yàn)證。
OPNET的缺點(diǎn):
1. 價(jià)錢(qián)昂貴.OPNET的單使用者授權(quán)費(fèi)超過(guò)2萬(wàn)5千美金. 價(jià)格的因素使得盜版猖獗。
2. 學(xué)習(xí)的進(jìn)入障礙很高,通過(guò)專(zhuān)門(mén)培訓(xùn)而達(dá)到較為熟練程度至少需一個(gè)多月的時(shí)間.
3. 仿真網(wǎng)絡(luò)規(guī)模和流量很大時(shí), 仿真的效率會(huì)降低。目前解決方法:采用分層的建模方法,匯聚網(wǎng)絡(luò)流量,簡(jiǎn)化網(wǎng)絡(luò)模型;背景流量和前景流量相配合;流量比例壓縮方法;優(yōu)化調(diào)整仿真參數(shù)設(shè)計(jì);路由流量的簡(jiǎn)化;結(jié)果分析;如何針對(duì)不同的統(tǒng)計(jì)參數(shù),選擇合適的結(jié)果收集和處理方法。來(lái)源:(廣東省電信科學(xué)技術(shù)研究院)
4. 軟件所提供的模型庫(kù)是有限的,因此某些特殊網(wǎng)絡(luò)設(shè)備的建模必須依靠節(jié)點(diǎn)和過(guò)程層次的編程方能實(shí)現(xiàn)。(A.網(wǎng)絡(luò)仿真軟件提供的標(biāo)準(zhǔn)的結(jié)果參數(shù),往往不能滿足實(shí)際用戶(hù)的全部需要,如果用戶(hù)需要收集網(wǎng)絡(luò)設(shè)備的某些特殊參數(shù)時(shí),必須通過(guò)過(guò)程層次上的編程來(lái)收集自己感興趣的網(wǎng)絡(luò)參數(shù)。B.一般,廠家提供的網(wǎng)絡(luò)協(xié)議的模型都滯后于標(biāo)準(zhǔn)頒布之日數(shù)月甚至一年,如果急需使用廠家模型庫(kù)中沒(méi)有提供的新協(xié)議、新標(biāo)準(zhǔn)時(shí),就只有通過(guò)編程的方法,開(kāi)發(fā)自己的協(xié)議模型。C.對(duì)于大型網(wǎng)絡(luò)的仿真,有時(shí)需要根據(jù)實(shí)際情況,通過(guò)編程改變模型的某些特性來(lái)提高仿真計(jì)算效率。)涉及底層編程的網(wǎng)元建模具有較高的技術(shù)難度,因?yàn)樾枰獙?duì)協(xié)議和標(biāo)準(zhǔn)及其實(shí)現(xiàn)的細(xì)節(jié)有深入的了解、并掌握網(wǎng)絡(luò)仿真軟件復(fù)雜的建模機(jī)理。因此,一般需要經(jīng)過(guò)專(zhuān)門(mén)培訓(xùn)的專(zhuān)業(yè)技術(shù)人員才能完成。編程的難度限制了OPNET的普及與推廣。此外,建立在OPNET上的仿真平臺(tái)當(dāng)前無(wú)法脫離OPNET環(huán)境,也是OPNET的一個(gè)局限性。
5. OPNET對(duì)路由協(xié)議的仿真比較適合,但是對(duì)鏈路的仿真好想就只能通過(guò)Pipeline stage來(lái)做。例如有用戶(hù)試了把pipeline stage中radio的propagation delay model的傳輸速度(default值是光速)改為聲波在海水中的速度1500m/s,但是仿真出來(lái)的propagation delay結(jié)果居然沒(méi)太大的改變。而根據(jù)使用經(jīng)驗(yàn)matlab或者spw就比較合適做鏈路層的仿真。
NS (NETWORK SIMULATOR)簡(jiǎn)介
NS是一個(gè)由UC Berkeley開(kāi)發(fā)的用于仿真各種IP網(wǎng)絡(luò)的為主的優(yōu)秀的仿真軟件。該軟件的開(kāi)發(fā)最初是針對(duì)基于UNIX系統(tǒng)下的網(wǎng)絡(luò)設(shè)計(jì)和仿真而進(jìn)行的。
Tcl(Tool Command Language)與Tk是安裝在UNIX/Linux環(huán)境下的兩個(gè)包,他們一起構(gòu)成了一套開(kāi)發(fā)系統(tǒng)應(yīng)用程序和圖形用戶(hù)界面接口(GUI)應(yīng)用程序的環(huán)境。Tk是Tcl在X Window環(huán)境下的擴(kuò)展,它包含了Tcl的全部c庫(kù)函數(shù),以及支持X Window的窗口,控件等c庫(kù)函數(shù),為用戶(hù)開(kāi)發(fā)圖形用戶(hù)界面提供了方便。
NS的設(shè)計(jì)實(shí)現(xiàn)了使用兩種程序設(shè)計(jì)語(yǔ)言,C++和Otcl。這兩種程序設(shè)計(jì)語(yǔ)言都是面向?qū)ο蟮摹++程序模塊的運(yùn)行速度非???,是強(qiáng)制類(lèi)型的程序設(shè)計(jì)語(yǔ)言,容易實(shí)現(xiàn)精確的,復(fù)雜的算法,但是修改和發(fā)現(xiàn),修正bug所花費(fèi)的時(shí)間較長(zhǎng),因?yàn)樗容^復(fù)雜。Otcl是腳本程序編寫(xiě)語(yǔ)言,是無(wú)強(qiáng)制類(lèi)型的,比較簡(jiǎn)單,容易實(shí)現(xiàn)和修改,容易發(fā)現(xiàn)的修正bug,雖然它的運(yùn)行速度和C++的模塊相比要慢很多。
NS的仿真原理-網(wǎng)絡(luò)組件。NSobject是所有基本網(wǎng)絡(luò)組件的父類(lèi)它本身的父類(lèi)是TclObject類(lèi)。這個(gè)類(lèi)的對(duì)象有一個(gè)基本功能,就是處理數(shù)據(jù)包(PACKET)。所有的基本網(wǎng)絡(luò)組件可以劃分為兩類(lèi),分類(lèi)器(Classifier)和連接器(Connector)。它們都是NSobject、的直接子類(lèi),也是所有基本網(wǎng)絡(luò)組件的父類(lèi)。分類(lèi)器的派生類(lèi)組件對(duì)象包括地址分類(lèi)器和多播分類(lèi)器等。連接器的派生類(lèi)組件對(duì)象包括隊(duì)列,延遲,各種代理,和追蹤對(duì)象類(lèi)。應(yīng)用程序是建立在傳輸代理上的應(yīng)用程序的模擬。NS2中有兩種類(lèi)型的“應(yīng)用程序”,數(shù)據(jù)源發(fā)生器和模擬的應(yīng)用程序。NS是離散事件驅(qū)動(dòng)的網(wǎng)絡(luò)仿真器。它使用Event Scheduler對(duì)所有組件希望完成的工作和計(jì)劃該工作發(fā)生的時(shí)間進(jìn)行列表和維護(hù)。
NS的工作平臺(tái)可以是Windows,Linux,Uinx,machitosh,還要求系統(tǒng)裝有C++編譯器。NS的工作流程:NS代碼使用OTCL語(yǔ)言編寫(xiě),通過(guò)OTCL語(yǔ)言解釋器解釋?zhuān)褂肗S仿真庫(kù)進(jìn)行編譯和仿真,輸出仿真結(jié)果,根據(jù)仿真結(jié)果記錄,可進(jìn)一步進(jìn)行相關(guān)內(nèi)容分析,生成網(wǎng)絡(luò)拓補(bǔ)圖或者得到數(shù)據(jù)的可視化的圖表。使用輔助的NAM工具,在NS中可以清晰顯示網(wǎng)絡(luò)拓補(bǔ)圖,使用X Graph工具,可以將NS的仿真結(jié)果用圖表形式表示,
NS設(shè)計(jì)的出發(fā)點(diǎn)是基于網(wǎng)絡(luò)仿真,它集成了多種網(wǎng)絡(luò)協(xié)議,業(yè)務(wù)類(lèi)型,路由排隊(duì)管理機(jī)制,路由算法。此外,NS還集成了組播業(yè)務(wù)和應(yīng)用于局域網(wǎng)仿真有關(guān)的部分、MAC層協(xié)議。其仿真主要針對(duì)路由層,傳輸層,數(shù)據(jù)鏈路層展開(kāi),因此NS可以進(jìn)行對(duì)固定,無(wú)線,衛(wèi)星以及混合等多種網(wǎng)絡(luò)的仿真。但它最適用于TCP層以上的模擬。NS的特點(diǎn)是源代碼公開(kāi);可擴(kuò)展性強(qiáng);速度和效率優(yōu)勢(shì)明顯。
NS與OPNET優(yōu)缺點(diǎn)比較:
1. OPNET與NS2的關(guān)系有點(diǎn)象windows和linux的關(guān)系。而它們也分別是在這兩個(gè)環(huán)境下(OPNET在win,NS2在linux)安裝使用最匹配。
2. OPNET是商業(yè)軟件,所以界面非常好。功能上很強(qiáng)大,界面錯(cuò)落有致,統(tǒng)一嚴(yán)格。操作也很方便,對(duì)節(jié)點(diǎn)的修改主要就是對(duì)其屬性的修改。是優(yōu)點(diǎn)也是其缺點(diǎn),如果你需要特殊的節(jié)點(diǎn)或很適合自己的節(jié)點(diǎn)就不如NS2方便。同時(shí),由于是商業(yè)軟件所以版本推出不如NS2快。
3. NS2是自由軟件,免費(fèi),這是與OPNET相比最大的優(yōu)勢(shì),因此它的普及度較高,是OPNET強(qiáng)有力的競(jìng)爭(zhēng)對(duì)手。
4. NS2界面不如OPNET,雖然功能也很強(qiáng)大,但有很多零散的東西,剛學(xué)的時(shí)候很麻煩,不容易上手。操作上比較方便,但由于不是同一公司開(kāi)發(fā)的,所以格式上不是很統(tǒng)一,說(shuō)明手冊(cè)的條理也不是很好。沒(méi)有現(xiàn)成的節(jié)點(diǎn)什么的你可以自己用C++編,可以按照自己的意圖來(lái)構(gòu)造你想要的節(jié)點(diǎn)。
MATLAB軟件
MATLAB軟件是由美國(guó)Mathworks公司推出的用于數(shù)值計(jì)算和圖形處理的科學(xué)計(jì)算系統(tǒng)環(huán)境。MATLAB是英文MATrix LABoratory(短陣實(shí)驗(yàn)室)的縮寫(xiě)。在MATLAB環(huán)境下,用戶(hù)可以集成地進(jìn)行程序設(shè)計(jì)、數(shù)值計(jì)算、圖形繪制、輸入輸出、文件管理等各項(xiàng)操作。 MATLAB提供了一個(gè)人機(jī)交互的數(shù)學(xué)系統(tǒng)環(huán)境,該系統(tǒng)的基本數(shù)據(jù)結(jié)構(gòu)是矩陣,在生成矩陳對(duì)象時(shí),不要求作明確的維數(shù)說(shuō)明。與利用c語(yǔ)言或FoRTRAN語(yǔ)言作數(shù)值計(jì)算的程序設(shè)計(jì)相比,利用MATLAB可以節(jié)省大量的編程時(shí)間。
MATLAB的良好的開(kāi)放性和運(yùn)行的可靠性使原先控制領(lǐng)域里的封閉式軟件包(如英國(guó)的UMIST,瑞典的LUND和SIMNON,德國(guó)的KEDDC)紛紛淘汰,而改以MATLAB為平臺(tái)加以重建。
MathWorks公司于2001年推出MATLAB6.0版本,6.x版在繼承和發(fā)展其原有的數(shù)值計(jì)算和圖形可視能力的同時(shí),出現(xiàn)了以下幾個(gè)重要變化:(1)推出了SIMULINK。這是一個(gè)交互式操作的動(dòng)態(tài)系統(tǒng)建模、仿真、分析集成環(huán)境。它的出現(xiàn)使人們有可能考慮許多以前不得不做簡(jiǎn)化假設(shè)的非線性因素、隨機(jī)因素,從而大大提高了人們對(duì)非線性、隨機(jī)動(dòng)態(tài)系統(tǒng)的認(rèn)知能力。(2)開(kāi)發(fā)了與外部進(jìn)行直接數(shù)據(jù)交換的組件,打通了MATLAB進(jìn)行實(shí)時(shí)數(shù)據(jù)分析、處理和硬件開(kāi)發(fā)的道路。(3)推出了符號(hào)計(jì)算工具包。1993年MathWorks公司從加拿大滑鐵盧大學(xué)購(gòu)得Maple的使用權(quán),以Maple為“引擎”開(kāi)發(fā)了Symbolic Math Toolbox 1.0。MathWorks公司此舉加快結(jié)束了國(guó)際上數(shù)值計(jì)算、符號(hào)計(jì)算孰優(yōu)孰劣的長(zhǎng)期爭(zhēng)論,促成了兩種計(jì)算的互補(bǔ)發(fā)展新時(shí)代。(4)構(gòu)作了Notebook 。MathWorks公司瞄準(zhǔn)應(yīng)用范圍最廣的Word ,運(yùn)用DDE和OLE,實(shí)現(xiàn)了MATLAB與Word的無(wú)縫連接,從而為專(zhuān)業(yè)科技工作者創(chuàng)造了融科學(xué)計(jì)算、圖形可視、文字處理于一體的高水準(zhǔn)環(huán)境。
MTALAB系統(tǒng)由五個(gè)主要部分組成,下面分別加以介紹。 (1)MATALB語(yǔ)言體系MATLAB是高層次的矩陣/數(shù)組語(yǔ)言.具有條件控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦蛘Z(yǔ)言特性。利用它既可以進(jìn)行小規(guī)模端程,完成算法設(shè)計(jì)和算法實(shí)驗(yàn)的基本任務(wù),也可以進(jìn)行大規(guī)模編程,開(kāi)發(fā)復(fù)雜的應(yīng)用程序。 (2)MATLAB工作環(huán)境 這是對(duì)MA丁LAB提供給用戶(hù)使用的管理功能的總稱(chēng).包括管理工作空間中的變量據(jù)輸入輸出的方式和方法,以及開(kāi)發(fā)、調(diào)試、管理M文件的各種工具。 (3)圖形句相系統(tǒng) 這是MATLAB圖形系統(tǒng)的基礎(chǔ),包括完成2D和3D數(shù)據(jù)圖示、圖像處理、動(dòng)畫(huà)生成、圖形顯示等功能的高層MATLAB命令,也包括用戶(hù)對(duì)圖形圖像等對(duì)象進(jìn)行特性控制的低層MATLAB命令,以及開(kāi)發(fā)GUI應(yīng)用程序的各種工具。 (4)MATLAB數(shù)學(xué)函數(shù)庫(kù)這是對(duì)MATLAB使用的各種數(shù)學(xué)算法的總稱(chēng).包括各種初等函數(shù)的算法,也包括矩陣運(yùn)算、矩陣分析等高層次數(shù)學(xué)算法。 (5)MATLAB應(yīng)用程序接口(API) 這是MATLAB為用戶(hù)提供的一個(gè)函數(shù)庫(kù),使得用戶(hù)能夠在MATLAB環(huán)境中使用c程序或FORTRAN程序,包括從MATLAB中調(diào)用于程序(動(dòng)態(tài)鏈接),讀寫(xiě)MAT文件的功能。 可以看出MATLAB是一個(gè)功能十分強(qiáng)大的系統(tǒng),是集數(shù)值計(jì)算、圖形管理、程序開(kāi)發(fā)為一體的環(huán)境。除此之外,MA丁LAB還具有根強(qiáng)的功能擴(kuò)展能力,與它的主系統(tǒng)一起,可以配備各種各樣的工具箱,以完成一些特定的任務(wù)。
在國(guó)際學(xué)術(shù)界,MATLAB已經(jīng)被確認(rèn)為準(zhǔn)確、可靠的科學(xué)計(jì)算標(biāo)準(zhǔn)軟件。在許多國(guó)際一流學(xué)術(shù)刊物上,(尤其是信息科學(xué)刊物),都可以看到MATLAB的應(yīng)用。 在設(shè)計(jì)研究單位和工業(yè)部門(mén),MATLAB被認(rèn)作進(jìn)行高效研究、開(kāi)發(fā)的首選軟件工具。如美國(guó)National Instruments公司信號(hào)測(cè)量、分析軟件LabVIEW,Cadence公司信號(hào)和通信分析設(shè)計(jì)軟件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB為主要支撐。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各種硬卡、儀器等都接受MATLAB的支持。
MATLAB的缺點(diǎn):
1. MATLAB的缺點(diǎn)是它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。
2. MATLAB另一個(gè)缺點(diǎn)是不能實(shí)現(xiàn)端口操作和實(shí)時(shí)控制,但結(jié)合C++Builder運(yùn)用,實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ)就可以克服這一缺點(diǎn)。
3. MATLAB還有一個(gè)缺點(diǎn)就是這個(gè)軟件太大,按現(xiàn)在流行的版本5.2,自身有400多兆,占硬盤(pán)空間近1個(gè)G,一般稍早些的計(jì)算機(jī)都安裝不下。
價(jià)格:在網(wǎng)上,MATLAB 6.5.1正版軟件1900人民幣可以買(mǎi)到。
其他仿真軟件
CASSAP仿真軟件
對(duì)于設(shè)計(jì)擴(kuò)頻數(shù)字移動(dòng)通信這樣復(fù)雜龐大的系統(tǒng),依靠過(guò)去傳統(tǒng)的設(shè)計(jì)方法是無(wú)法完成的,美國(guó)Synopsys(新思科技)公司提供的設(shè)計(jì)工具cossap能幫助設(shè)計(jì)人員在算法概念級(jí)建立一個(gè)系統(tǒng)模型,可定義并可隨時(shí)改變系統(tǒng)的參數(shù),模擬系統(tǒng)信號(hào)處理流程來(lái)研究系統(tǒng)的算法性能、指標(biāo)。COSSAP的設(shè)計(jì)思想為自頂向下(Top—Down)的設(shè)計(jì)方法,即先進(jìn)行系統(tǒng)性能分析、算法分析,再進(jìn)行硬件、軟件劃分、設(shè)計(jì),最后將軟、硬件合并、仿真、調(diào)測(cè)、驗(yàn)證之后,才能完成系統(tǒng)設(shè)計(jì)
CASSAP為數(shù)字信號(hào)處理系統(tǒng)的開(kāi)發(fā)者提供了一個(gè)最有效的仿真工具,使工程師在概念、算法和體系結(jié)構(gòu)層次完成算法仿真。其首創(chuàng)的數(shù)據(jù)流驅(qū)動(dòng)仿真器比傳統(tǒng)的基于時(shí)鐘周期的仿真器速度提高了8-16倍。提供超過(guò)1000個(gè)高層模塊可作動(dòng)態(tài)的數(shù)據(jù)流驅(qū)動(dòng)仿真(支持異步、多速率),并可對(duì)其中所需模塊自動(dòng)生成行為級(jí)或RTL級(jí)VHDL,用于ASIC/FPGA實(shí)現(xiàn),也可生成各種風(fēng)格的DSP代碼,供DSP處理器作軟件實(shí)現(xiàn)。CASSAP可廣泛應(yīng)用于需分析和評(píng)估算法、實(shí)現(xiàn)方式的數(shù)字傳輸系統(tǒng),如通訊、圖像、多媒體等,并提供了針對(duì)GSM、CDMA、DECT等標(biāo)準(zhǔn)的專(zhuān)用開(kāi)發(fā)平臺(tái)。
SPW仿真軟件
SPW仿真軟件是Cadence公司的產(chǎn)品,提供面向電子系統(tǒng)的模塊化設(shè)計(jì),仿真及實(shí)施環(huán)境,是進(jìn)行算法開(kāi)發(fā),濾波器設(shè)計(jì),C代碼生成,硬/軟件結(jié)構(gòu)聯(lián)合設(shè)計(jì)和硬件綜合的理想環(huán)境。
SPW最出眾的地方就是和HDS的接口,和Matlab的接口。matlab里面的很多模型可 以直接調(diào)入SPW,然后用HDS生成C語(yǔ)言仿真代碼或者是HDL語(yǔ)言仿真代碼。也就是說(shuō),要是簡(jiǎn)單行事的話,就可以直 接用matlab做個(gè)模型,然后就做到版圖中去。
可以說(shuō),SPW包括了Matlab的很多功能,連demo都有點(diǎn)象。。它的通常的應(yīng)用領(lǐng)域包括無(wú)線和有線載波通信、多媒體和網(wǎng)絡(luò)設(shè)備。
聯(lián)系客服