亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sim_ashr.cc

?? 大名鼎鼎的傳感器網絡仿真實驗室平臺SENSE
?? CC
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************* * @<title> Autonomic Self-Healing Routing Simulation </title>@ * * @<!-- Copyright 2006 Mark Lisee, Joel Branch, Gilbert (Gang) Chen, * Boleslaw K. Szymanski and Rensselaer Polytechnic Institute. * * Copyright 2003 Gilbert (Gang) Chen, Boleslaw K. Szymanski and * Rensselaer Polytechnic Institute. All worldwide rights reserved.  A * license to use, copy, modify and distribute this software for * non-commercial research purposes only is hereby granted, provided * that this copyright notice and accompanying disclaimer is not * modified or removed from the software. * * DISCLAIMER: The software is distributed "AS IS" without any express * or implied warranty, including but not limited to, any implied * warranties of merchantability or fitness for a particular purpose * or any warranty of non-infringement of any current or pending * patent rights. The authors of the software make no representations * about the suitability of this software for any particular * purpose. The entire risk as to the quality and performance of the * software is with the user. Should the software prove defective, the * user assumes the cost of all necessary servicing, repair or * correction. In particular, neither Rensselaer Polytechnic * Institute, nor the authors of the software are liable for any * indirect, special, consequential, or incidental damages related to * the software, to the maximum extent the law permits. -->@  * * @<h1> Wireless Sensor Network Simulation </h1>@ * * Building a wireless sensor network simulation in SENSE consists of * the following steps: * @<UL>@ * @<LI>@ Designing a sensor node component * @<LI>@ Constructing a sensor network derived from @CostSimEng@ * @<LI>@ Configuring the system and running the simulation * @</UL>@ *  * Here, we assume that all components needed by a sensor node component * are available from the component repository. If this is not the case, the user * must develop new components, as described by other @<a href=tutorial.html>tutorials</a>@. We should * also mention that the first step of designing a sensor node component * is not always necessary, if a standard sensor node is to be used. * * This first line of this source file demands that @HeapQueue@ must be * used as the priority queue for event management.  For wireless network * simulation, because of the inherent drawback of @CalendarQueue@, and also * because of the particular channel component being used, @HeapQueue@ * is often faster.  *******************************************************************/#define queue_t HeapQueue/******************************************************************* * This header file is absolutely required *******************************************************************/#include <ctime>#include "../../common/sense.h"/******************************************************************* * The following header files are necessary only if the corresponding * components are needed by the sensor node component *******************************************************************/#include "../../app/cbr.h"#include "../../mob/immobile.h"#include "../../net/ssab.h"#include "../../net/ssrv02.h"#include "../../mac/bcast_mac.h"#include "../../phy/transceiver.h"#include "../../phy/simple_channel.h"#include "../../energy/battery.h"#include "../../energy/power.h"/******************************************************************* * #cxxdef is similar to #define, except it is only recognized by the * CompC++ compiler.  The following two lines state that the flooding * component will be used for the network layer. These two macros * can also be overridden by command line macros definitions (whose * format is '-D<macro>=<something>'. *******************************************************************//******************************************************************* * For layer XXX, XXX_Struct is the accompanying class that defines * data structures and types used in that layer.  The reason we need a separate * class for this purpose is that each XXX is a component, and that due to * the particular way in which the CompC++ compiler was implemented * data structures and types defined inside any component is not accessible from * outside.  Therefore, for each layer XXX, we must define all those * data structures and types in XXX_Struct, and then derive component XXX  * from XXX_Struct. * * The following three lines state: * @<UL>@ * @<LI>@ The type of packets in the application layer is @CBR_Struct::packet_t@ * @<LI>@ The network layer passes application layer packets by reference (which may * be faster than by pointer, for @CBR_Struct::packet_t@ is small, so  *  @app_packet_t@ becomes the template parameter of @net_struct@; the type of packets * in the network layer is then @net_packet_t@. * @<LI>@ Now that @net_packet_t@ is more than a dozen bytes long, so it is better * to pass it by pointer, so @net_packet_t*@ instead of @net_packet_t@ becomes the * template parameter of the @MAC80211_Struct@; the type of packets in the mac layer * is then @mac_packet_t@.  Physical layers also use @mac_packet_t@, so there is no * need to define more packet types. * @</UL>@ * *******************************************************************/typedef CBR_Struct::packet_t app_packet_t;typedef SSRv02_Struct<app_packet_t>::packet_t net_packet_t;typedef BcastMAC_Struct<net_packet_t*>::packet_t mac_packet_t;/******************************************************************* * Now we can begin to define the sensor node component. First we * instantiate every subcomponent used by the node component. We need to * determine the template parameter type for each subcomponent, usually starting from  * the application layer. Normally the application layer component does not have any * template parameter.  * * This picture shows the internal structure of a sensor node. * * @<center><img src=sim_flooding_node.gif></center>@ *******************************************************************/component SensorNode : public TypeII{ public:  CBR		app;  SSRv02 <app_packet_t> net;  BcastMAC <net_packet_t*> mac;  // A transceiver that can transmit and receive at the same time (of course  // a collision would occur in such cases)  DuplexTransceiver < mac_packet_t > phy;  // Linear battery  SimpleBattery battery;  // PowerManagers manage the battery  PowerManager	pm;  // sensor nodes are immobile  Immobile	mob;      double	MaxX, MaxY;  // coordinate boundaries  ether_addr_t	MyEtherAddr; // the ethernet address of this node  int		ID; // the identifier  bool		SrcOrDst;  virtual ~SensorNode();  void		Start();  void		Stop();  void		Setup( double txPower);/******************************************************************* * The following lines define one inport and two outports to be connected * to the channel components. *******************************************************************/  outport void to_channel_packet(mac_packet_t* packet, double power, int id);  inport void from_channel (mac_packet_t* packet, double power);  outport void to_channel_pos(coordinate_t& pos, int id);};SensorNode::~SensorNode(){}void SensorNode::Start(){}void SensorNode::Stop(){}/******************************************************************* * This function must be called before running the simulation. *******************************************************************/void SensorNode::Setup(  double	txPower){/******************************************************************* * At the beginning the amount of energy in each battery is 1,000,000 Joules. *******************************************************************/  battery.InitialEnergy = 1e6;    /******************************************************************* * Each subcomponent must also know the ethernet address of the  * sensor node it resides on. * Remember the application layer is a CBR component, which would stop * at FinishTime to give the whole network an opportunity to clean up * any packets in transit. * Assiging @false@ to @app.DumpPackets@ means that if @<a href=manual.html#COST_DEBUG>COST_DEBUG</a>@ * is defined, @app@ still won't print out anything. *******************************************************************/      app.MyEtherAddr = MyEtherAddr;  app.FinishTime = StopTime()*0.9;  app.DumpPackets = false;    /******************************************************************* * Set the coordinate of the sensor node.  Must also give @ID@ to @mob@ * since @ID@ was used to identify the index of the sensor node when * the position info is sent to the channel component. *******************************************************************/  mob.InitX = Random(MaxX);  mob.InitY = Random(MaxY);  mob.ID = ID;/******************************************************************* * When a net component is about to retransmit a packet that it received, * it cannot do so because otherwise all nodes that received the packet * may attempt to retransmit the packet immediately, inevitably resulting * in a collision.  @ForwardDelay@ gives the maximum delay time a  * needed-to-be-retransmit packet may incur.  The actual delay is randomly * chosen between [0,@ForwardDelay@]. *******************************************************************/  net.MyEtherAddr = MyEtherAddr;  net.ForwardDelay = 0.1;  net.AckWindow = 0.0015;  net.DumpPackets = true;  net.MaxResend = 3;  net.TimeToLive = 15;  net.AdditionalHop = 4;    /******************************************************************* * If @Promiscuity@ is ture, then the mac component will forward every packet * even if it not destined to this sensor node, to the network layer. * And we want to debug the mac layer, so we set @mac.DumpPackets@ to true. *******************************************************************/   mac.MyEtherAddr = MyEtherAddr;  mac.Promiscuity = true;  mac.DumpPackets = false;  mac.IFS = 0.01;   /******************************************************************* *  The PowerManager takes care of power consumption at different states. *  The following lines state the power consumption is 1.6W at transmission *  state, 1.2 at receive state, and 1.115 at idle state. *******************************************************************/  pm.TXPower = 1.6;  pm.RXPower = 1.2;  pm.IdlePower = 1.15;/******************************************************************* *  @phy.TxPower@ is the transmission power of the antenna. *  @phy.RXThresh@ is the lower bound on the receive power of any packet *  that can be successfuly received. *  @phy.CSThresh@ is the lower bound on tye receive power of any packet *  that can be detected. *  @phy@ also needs to know the id because it needs to communicate with *  the channel component. *******************************************************************/  phy.TXPower = txPower;  phy.TXGain = 1.0;  phy.RXGain = 1.0;   phy.Frequency = 9.14e8;  phy.RXThresh = 3.652e-10;  phy.CSThresh = 1.559e-11;  phy.ID = ID;  net.RXThresh = phy.RXThresh;/******************************************************************* *  Now we can establish the connections between components.  The connections *  will become much clearer if we look at the diagram. *******************************************************************/  connect app.to_transport, net.from_transport;  connect net.to_transport, app.from_transport;      connect mac.to_network_data, net.from_mac_data;  connect mac.to_network_ack, net.from_mac_ack;  connect net.to_mac, mac.from_network;  connect net.cancel, mac.cancel;  connect mac.to_network_recv_recv_coll, net.from_mac_recv_recv_coll;      connect mac.to_phy, phy.from_mac;  connect phy.to_mac, mac.from_phy;  connect phy.to_power_switch, pm.switch_state;  connect pm.to_battery_query, battery.query_in;  connect pm.to_battery_power, battery.power_in;/******************************************************************* *  These three connect statements are different.  All above ones *  are between an outport of a subcomponent and an outport of another *  subcomponent, while these three are between a port of the sensor *  node and a port of a subcomponent.  We can view these connections *  as mapping from the ports of subcomponents to its own ports, i.e., *  to expose the ports of internal components. *  Also remember the connect statement is so designed that it can take *  only two ports, and that packets always flow through from the first port *  to the second port, so when connection two inports, the inport of *  the subcomponent must be placed in the second place. *******************************************************************/  connect phy.to_channel, to_channel_packet;  connect mob.pos_out, to_channel_pos;  connect from_channel, phy.from_channel;  SrcOrDst = false;}/******************************************************************* *  Once we have the sensor node component ready, we can start to  *  build the entire simulation, which is named @RoutingSim@.  It must *  be derived from the simulation engine class @CostSimEng@. *  This is the structure of the network. * * @<center><img src=sim_flooding_net.gif></center>@ *******************************************************************/component RoutingSim : public CostSimEng{ public:  void		Start();  void		Stop();		RoutingSim();/******************************************************************* *  These are simulation parameters.  We don't want configurators of *  the simulation to access the parameters of those inter-components. *******************************************************************/  double	MaxX, MaxY;  int		NumNodes;  int		NumSourceNodes;  int		NumConnections;  int		PacketSize;  double	Interval;  double	ActivePercent;  double	SlotWidth;  double	TransitionTime;  int		NumT2Slots;  int		NumT3Slots;  double	TXPower;/******************************************************************* *  Here we declare sense nodes as an array of @SensorNode@, and a *  channel component. *******************************************************************/  SensorNode[]	nodes;  SimpleChannel < mac_packet_t > channel;  void		Setup();};RoutingSim::RoutingSim(){  NumConnections = 1;  PacketSize = 1000;  StopTime = 1000;  NumNodes = 110;  MaxX = MaxY = 2000;  NumSourceNodes = 0;  ActivePercent = 1.0;  Interval = 20.0;  SlotWidth = 0.001;  TransitionTime = 0.0;  NumT2Slots = DefaultNumT2Slots;  NumT3Slots = DefaultNumT3Slots;  TXPower=0.0280;  return;}void RoutingSim :: Start(){}/******************************************************************* *  After the simulation is stopped, we will collect some statistics. *******************************************************************/void RoutingSim :: Stop(){  int		i, j, sent, recv, samples, recv_data, hopCounts[ HCArraySize];  double	hop;  double	app_recv;  double	delay;  int		T2PktsSent[ MaxT2Slots], T1PktsSent, T3PktsSent[ MaxT3Slots];  int		dropPkts, t3AbnormalPktsSent = 0;  int		T2Colls[ MaxT2Slots], T1Colls, T3Colls[ MaxT3Slots], IgnColls;  int		numCollisions;  int		T1PktsRcvd[2];  int		T2PktsRcvd[2][ MaxT2Slots];  int		T3PktsRcvd[2][ MaxT3Slots];  int		T4PktsRcvd[2];  int		CanceledPktsRcvd[2];  int		BadAddrPktsRcvd[2];  int		WrongHopPktsRcvd[2];  for(sent=recv=i=0,delay=0.0;i<NumNodes;i++)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品一区二区三区嫩草| 色婷婷av一区二区三区大白胸| 精品日韩成人av| 韩国v欧美v日本v亚洲v| 久久久亚洲精品一区二区三区 | 一区二区三区中文字幕精品精品 | 久久久不卡影院| 粉嫩久久99精品久久久久久夜| 国产精品久久久一本精品| 色噜噜狠狠一区二区三区果冻| 亚洲综合精品久久| 欧美成人精精品一区二区频| 国产一区二区三区国产| 亚洲欧美日韩在线播放| 欧美老年两性高潮| 国产成a人亚洲精品| 亚洲视频图片小说| 欧美高清性hdvideosex| 国产91综合一区在线观看| 亚洲最大成人综合| 日韩精品一区二区三区中文精品| 成人午夜在线播放| 午夜国产精品影院在线观看| 久久久久久亚洲综合影院红桃 | 91精品国产综合久久福利软件 | 亚洲成精国产精品女| 久久尤物电影视频在线观看| 91麻豆免费看片| 轻轻草成人在线| 国产精品天干天干在观线| 欧美精品123区| 91在线视频官网| 麻豆国产欧美日韩综合精品二区 | 欧美日韩高清一区二区| 国产一区二区三区| 亚洲成人7777| 17c精品麻豆一区二区免费| 欧美大尺度电影在线| 91在线免费看| 精品一区二区久久久| 亚洲国产日韩在线一区模特| 国产欧美日产一区| 4438x成人网最大色成网站| 99精品国产热久久91蜜凸| 国内精品久久久久影院一蜜桃| 亚洲第一精品在线| 成人欧美一区二区三区1314| 久久综合精品国产一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 成人午夜又粗又硬又大| 国产综合色在线视频区| 天天色 色综合| 亚洲精品免费看| 国产精品日日摸夜夜摸av| 久久综合资源网| 日韩一区二区三区免费观看| 欧美日韩高清一区二区| 在线视频欧美精品| 色婷婷av一区二区| 91色九色蝌蚪| 成人免费高清视频在线观看| 国产一区不卡视频| 国产一区二区在线电影| 国产综合成人久久大片91| 麻豆视频一区二区| 美女视频一区在线观看| 免费视频一区二区| 美女一区二区久久| 精品一区二区日韩| 国产一区二区三区日韩| 国产一区二区三区av电影| 激情亚洲综合在线| 国产精品99精品久久免费| 国精产品一区一区三区mba桃花| 久久国产精品色| 蜜臀a∨国产成人精品| 天堂va蜜桃一区二区三区| 天堂av在线一区| 国产成人精品综合在线观看| 国产最新精品免费| 国产99精品国产| 91影院在线免费观看| 91久久精品一区二区三| 欧美丝袜丝交足nylons| 欧美精品v日韩精品v韩国精品v| 欧美二区三区91| 日韩欧美一区电影| 国产偷v国产偷v亚洲高清| 国产精品久99| 亚洲电影一区二区三区| 免费看日韩a级影片| 国产一区美女在线| 91视频在线观看免费| 欧美性猛片aaaaaaa做受| 欧美日韩精品综合在线| 欧美成人一区二区三区在线观看 | 国产一区二区精品久久| 99亚偷拍自图区亚洲| 欧美四级电影网| 欧美sm极限捆绑bd| 中文字幕 久热精品 视频在线| 亚洲人成影院在线观看| 天使萌一区二区三区免费观看| 国产一区二区三区蝌蚪| 日本韩国精品在线| 日韩精品一区二区三区四区| 久久综合九色欧美综合狠狠| 成人欧美一区二区三区小说| 三级一区在线视频先锋| 国产成人亚洲综合a∨婷婷| 欧美在线观看禁18| 337p粉嫩大胆噜噜噜噜噜91av | 国产一区二区精品久久| 日本电影欧美片| 日韩久久精品一区| 亚洲黄色录像片| 久久国产精品露脸对白| 色噜噜偷拍精品综合在线| 精品久久久久久久久久久久久久久 | 国产精品69毛片高清亚洲| 91老师片黄在线观看| 日韩欧美国产一区在线观看| 亚洲欧洲三级电影| 麻豆精品一二三| 91成人免费网站| 久久久99免费| 婷婷开心激情综合| av在线免费不卡| 一级精品视频在线观看宜春院| 久久精品国产99| 欧美性猛片xxxx免费看久爱| 欧美激情综合五月色丁香| 喷白浆一区二区| 欧美最猛性xxxxx直播| 国产丝袜在线精品| 麻豆成人综合网| 在线欧美小视频| 国产精品久久久久天堂| 狠狠色丁香久久婷婷综合丁香| 精品视频一区二区不卡| 亚洲色图丝袜美腿| 丰满少妇在线播放bd日韩电影| 欧美一区二区免费视频| 亚洲一二三区在线观看| 不卡的av在线| 日本一区二区免费在线观看视频| 日韩不卡一二三区| 欧美日韩一区久久| 亚洲乱码国产乱码精品精的特点| 国产精品91一区二区| 精品成a人在线观看| 美女爽到高潮91| 91精品国产综合久久精品麻豆 | 97se亚洲国产综合在线| 国产欧美日韩在线看| 黄色精品一二区| 欧美大白屁股肥臀xxxxxx| 日韩高清不卡一区二区| 欧美日韩视频专区在线播放| 亚洲欧美经典视频| 日本道精品一区二区三区| 亚洲美女在线国产| 日本韩国一区二区三区视频| 中文字幕日韩一区二区| 成人av资源下载| 综合亚洲深深色噜噜狠狠网站| 成人精品视频一区二区三区| 国产午夜精品一区二区三区视频| 国产一区二区视频在线| 国产亚洲欧美日韩日本| 福利一区在线观看| 国产精品三级久久久久三级| 99精品视频一区二区| 日韩理论片在线| 91极品视觉盛宴| 亚洲国产精品麻豆| 欧美一卡二卡在线| 久久99深爱久久99精品| 国产色91在线| 99re视频精品| 亚洲成va人在线观看| 日韩欧美的一区二区| 国产精品亚洲成人| 综合婷婷亚洲小说| 欧美日韩二区三区| 国产中文字幕一区| 日韩理论片在线| 欧美日韩二区三区| 国产精品一区免费在线观看| 国产精品美女久久久久久2018| 91丨porny丨蝌蚪视频| 丝袜亚洲另类欧美综合| 久久久久国产免费免费| 91视频国产观看| 免费成人性网站| 国产精品久久久久久久久免费相片| 日本精品免费观看高清观看| 色综合久久久久久久久久久| 亚洲国产裸拍裸体视频在线观看乱了 | 色诱视频网站一区|