omneteyes

所属分类:网络编程
开发工具:Visual C++
文件大小:340KB
下载次数:16
上传日期:2012-05-03 09:57:37
上 传 者six_angle
说明:  omnet++的MAC层仿真插件,可以仿真多种MAC层协议,在VC/VS环境都可以直接运行。
(omnet+++ MAC layer emulation plug-ins, can simulate a variety of MAC layer protocols can be run directly in the VC/VS environment.)

文件列表:
omneteyes\appselector.cc (4405, 2005-10-17)
omneteyes\appselector.h (861, 2005-09-02)
omneteyes\area.ned (155, 2005-09-02)
omneteyes\areamanager.cc (2601, 2005-09-08)
omneteyes\areamanager.h (471, 2005-09-02)
omneteyes\basicmac.cc (10324, 2005-10-24)
omneteyes\basicmac.h (2626, 2005-09-22)
omneteyes\build (49, 2005-09-02)
omneteyes\csma.cc (3315, 2005-09-02)
omneteyes\csma.h (580, 2005-09-02)
omneteyes\csma.ini (88, 2005-09-02)
omneteyes\csmaack.cc (8725, 2005-09-02)
omneteyes\csmaack.h (1267, 2005-09-02)
omneteyes\csmaack.ini (91, 2005-09-02)
omneteyes\csmaca.cc (11486, 2005-09-02)
omneteyes\csmaca.h (1356, 2005-09-02)
omneteyes\csmacaTest.cc (12648, 2005-09-02)
omneteyes\csmacaTest.h (1429, 2005-09-02)
omneteyes\doxy.cfg (50119, 2005-09-02)
omneteyes\eyes.cc (1178, 2005-10-24)
omneteyes\eyes.h (1093, 2005-09-02)
omneteyes\hoplatency.cc (1363, 2005-09-02)
omneteyes\hoplatency.h (375, 2005-09-02)
omneteyes\idle.cc (458, 2005-09-02)
omneteyes\idle.h (338, 2005-09-02)
omneteyes\intmap.cc (2352, 2005-09-02)
omneteyes\intmap.h (696, 2005-09-02)
omneteyes\lmac.cc (4674, 2005-10-03)
omneteyes\lmac.h (642, 2005-09-02)
omneteyes\lmac.ini (90, 2005-09-02)
omneteyes\localbc.cc (1773, 2005-09-02)
omneteyes\localbc.h (373, 2005-09-02)
omneteyes\localgossip.cc (2092, 2005-09-02)
omneteyes\localgossip.h (465, 2005-09-02)
omneteyes\localuc.cc (1585, 2005-09-02)
omneteyes\localuc.h (384, 2005-09-02)
omneteyes\lpl.ini (59, 2005-09-02)
omneteyes\mac.ned (214, 2005-09-02)
omneteyes\maca.cc (6672, 2005-09-02)
omneteyes\maca.h (934, 2005-09-02)
... ...

OMNeTEyes --------- The omneteyes simulator uses OMNeT++ as a core, which you can find at www.omnetpp.org. To completely understand how to use the omneteyes simulator you will have to familiarize yourself with OMNeT++. It has been tested with OMNeT++ 3.2. This has had limited testing with Visual C++, but not by the core team (we thank Antonio Grilo for his help with this) as we are developing solely on Linux machines. As such, we are able to provide .dsp, .dsw and .vcproj files for the simulator, but there are no guarantees about these working. We advise the use of gcc on all platforms, and Visual C++ is *not* supported at all. In order to create the Makefile for your system, please run the supplied "build" script. You can then type "make" to build the simulator. If you have any problems with running the simulator, we will be able to process your bug report faster if you provide us with details of the command line that you use to run our simulator, as otherwise we may well have difficulties reproducing your bug. We have provided some example programs in the scripts/ directory for providing a more easily understood version of the MAC simulator result. These require Perl to run, and more information about them is available in the "Readme" file in that directory. Different message generation scenarios can be provided by editing the test.scen file The idle and active names are a bit deceptive. An idle pattern is one that is simply turned on for the complete simulation. This can be used like a background load generator (from which the name probably derives). Active patterns are patterns that occur at random times (which is also where the area manager comes in to play I think). Internally the names ACTIVE and IDLE are used for the states of an active pattern (just to confuse things a bit ;-) . An IDLE active pattern does not send any messages, while an ACTIVE active pattern does. Active patterns start out IDLE, so this is what the initialisation does. All MAC protocols are derived from BasicMAC (basicmac.(cc|h)) which has some utility functions and models part of our nodes. In particular it provides the functions setRadioListen, setRadioTransmit, and setRadioSleep for managing the radio, startTransmit for actually sending a message out to the ether, and setTimeout and cancelTimeout whereby a timer can be set in approx. 30 micro second ticks, which is the granularity of our crystal driven clock. Finally the function getRssi gets a received signal strength indicator reading. This can be used to detect other sending nodes in the vicinity. Low Power Listening is also implemented in basicmac.cc On the other hand BasicMAC also defines several functions for notifying the MAC protocol. The MAC protocol has to define these (these are virtuals in BasicMAC): timeout - a timer has fired init - protocol initialization rxFrame - notifies the MAC that a packet has been received (and supplies the packet) transmitDone - notifies the MAC that the packet sent with startTransmit has been sent completely rxStarted - notifies the MAC that a startsymbol has been detected by the physical layer rxFailed - notifies the MAC that the reception of the packet has failed. After a rxStarted event, either rxFailed or rxFrame is called. headerLength - should return the number of bytes used for headers in the MAC protocol For communicating with the higher layers (packet generators) a MAC should also implement txPacket by which the higher layers pass packets to the MAC. Further it can call txPacketDone to notify the higher layers that the last packet passed has been sent completely, and rxPacket to pass received packets to the higher layers. The defines at the top of tmac.cc (and other protocols) define times in approx. 30 micro second ticks (in as far as times are defined). A tick is 1/32768 of a second. Please note that the settings for the frame time and listen_timeout in S-MAC (and T-MAC) are usually overridden from the ini-files, and are normally set to 20000 and 500 ticks respectively (610 and 15 milli seconds).

近期下载者

相关文件


收藏者