Você está na página 1de 2687

diff -Naur ns-allinone-2.29/ns-2.29/apps/udp.cc ns-allinone-2.

29-mannasim/ns-
2.29/apps/udp.cc
--- ns-allinone-2.29/ns-2.29/apps/udp.cc 2005-10-20 02:45:22.000000000 -0200
+++ ns-allinone-2.29-mannasim/ns-2.29/apps/udp.cc 2006-05-26 11:08:29.000000000
-0300
@@ -93,7 +93,12 @@

double local_time = Scheduler::instance().clock();


while (n-- > 0) {
- p = allocpkt();
+
+ // Alterated by The Manna Research Group
+ // Used by mannasim - wireless sensor networks simulator.
+ // p = allocpkt();
+ p = allocpkt(sizeof(data));
+
hdr_cmn::access(p)->size() = size_;
hdr_rtp* rh = hdr_rtp::access(p);
rh->flags() = 0;
@@ -108,7 +113,10 @@
}
n = nbytes % size_;
if (n > 0) {
- p = allocpkt();
+
+ //p = allocpkt(); Alterado pelo grupo Manna
+ p = allocpkt(sizeof(data));
+
hdr_cmn::access(p)->size() = n;
hdr_rtp* rh = hdr_rtp::access(p);
rh->flags() = 0;
diff -Naur ns-allinone-2.29/ns-2.29/common/ns-process.h ns-allinone-2.29-
mannasim/ns-2.29/common/ns-process.h
--- ns-allinone-2.29/ns-2.29/common/ns-process.h 2005-10-20 02:45:22.000000000
-0200
+++ ns-allinone-2.29-mannasim/ns-2.29/common/ns-process.h 2006-05-26
11:08:30.000000000 -0300
@@ -84,9 +84,22 @@
// pub/sub ADU
PUBSUB,

- //Diffusion ADU
+ // Diffusion ADU
DIFFUSION_DATA,

+ // Inserted by The Manna Research Group


+ // ADUs used by mannasim - wireless sensor networks
+ // simulator.
+ SENSED_DATA,
+ MANAGEMENT_DATA,
+
+ ON_DEMAND_DATA,
+ ON_DEMAND_PARAMETER,
+
+ VIDEO_SENSED_DATA,
+ TEMPERATURE_SENSED_DATA,
+ CARBON_MONOXIDE_SENSED_DATA,
+
// Last ADU
ADU_LAST

@@ -107,6 +120,13 @@
// The following two methods MUST be rewrited for EVERY derived classes
virtual int size() const { return sizeof(AppData); }
virtual AppData* copy() = 0;
+
+ // Inserted by The Manna Research Group
+ // Data functions for On Demand Sensing - these functions should
+ // be overwritten by specific application data types as temperatura
+ // AppData for example.
+ virtual bool compareData(AppData* data, int operation) {return false;}
+ virtual bool checkEvent(AppData* data_) {return false;}
};

// Models any entity that is capable of process an ADU.


diff -Naur ns-allinone-2.29/ns-2.29/common/packet.cc ns-allinone-2.29-mannasim/ns-
2.29/common/packet.cc
--- ns-allinone-2.29/ns-2.29/common/packet.cc 2005-10-20 02:45:22.000000000 -0200
+++ ns-allinone-2.29-mannasim/ns-2.29/common/packet.cc 2006-05-26
11:08:30.000000000 -0300
@@ -47,6 +47,8 @@
Packet* Packet::free_; // free list
int hdr_cmn::offset_; // static offset of common header
int hdr_flags::offset_; // static offset of flags header
+// MIT_uAMPS
+int hdr_rca::offset_; // static offset of rca header

PacketHeaderClass::PacketHeaderClass(const char* classname, int hdrlen) :


diff -Naur ns-allinone-2.29/ns-2.29/common/packet.h ns-allinone-2.29-mannasim/ns-
2.29/common/packet.h
--- ns-allinone-2.29/ns-2.29/common/packet.h 2005-10-20 02:45:22.000000000 -0200
+++ ns-allinone-2.29-mannasim/ns-2.29/common/packet.h 2006-05-26 11:08:30.000000000
-0300
@@ -70,6 +70,10 @@
//#define HDR_DIFF(p) (hdr_diff::access(p)) /* SCADD's diffusion ported into
ns */
#define HDR_LMS(p) (hdr_lms::access(p))

+// MIT uAmps


+#define HDR_RCA(p) ((struct hdr_rca*)(p)->access(hdr_rca::offset()))
+#define HDR_MACSensor(p) ((struct hdr_macSensor*)(p)->access(hdr_mac::offset_))
+
/* --------------------------------------------------------------------*/

enum packet_t {
@@ -167,6 +171,9 @@
// HDLC packet
PT_HDLC,

+ // MIT_uAMPS
+ PT_RCA,
+
// insert new packet types here
PT_NTYPE // This MUST be the LAST one
};
@@ -263,6 +270,9 @@
// XCP
name_[PT_XCP]="xcp";

+ // MIT_uAMPS
+ name_[PT_RCA] = "rca";
+
name_[PT_NTYPE]= "undefined";
}
const char* name(packet_t p) const {
@@ -405,6 +415,9 @@
u_int8_t incoming;

//monarch extns end;


+
+ // MIT_uAMPS
+ static void PrintRcHeader(Packet *p, char *layer);
};

/*
@@ -512,6 +525,58 @@
//monarch_end
};

+// MIT_uAMPS
+struct hdr_rca {
+ int msg_type_;
+ char meta_[1000];
+ int meta_size_;
+ float dist_to_dest_;
+ int dist_est_;
+ int rca_mac_src_;
+ int rca_mac_dst_;
+ int rca_link_src_;
+ int rca_link_dst_;
+ int code_;
+ static int offset_; // offset for this header
+ inline static int& offset() { return offset_; }
+ inline static hdr_rca* access(Packet* p) {
+ return (hdr_rca*) p->access(offset_);
+ }
+
+/* per-field member functions */
+ inline int& msg_type() { return (msg_type_); }
+ inline int& meta_size() { return (meta_size_); }
+ inline float& get_dist() { return (dist_to_dest_); }
+ inline int& dist_est() { return (dist_est_); }
+ inline void set_meta(const char* data) {
+ meta_size_ = strlen(data);
+ if (meta_size_ > maxmetasize()) {
+ printf("Error: Meta size %d too large (max = %d).\n",
meta_size_, maxmetasize());
+ exit(1);
+ }
+ memcpy(meta_, data, meta_size_+1);
+ }
+ inline void set_meta(const char * data, int size) {
+ if (size > maxmetasize())
+ {
+ printf("Error: Meta size %d too large (max = %d).\n", size,
maxmetasize());
+ exit(1);
+ }
+ memcpy(meta_, data, size);
+ meta_size_ = size;
+ }
+ inline char* const meta() { return (meta_); }
+ inline int maxmetasize() { return (sizeof(meta_)); }
+ inline int& rca_mac_src() { return (rca_mac_src_); }
+ inline int& rca_mac_dst() { return (rca_mac_dst_); }
+ inline int& rca_link_src() { return (rca_link_src_); }
+ inline int& rca_link_dst() { return (rca_link_dst_); }
+ inline int& get_code() { return (code_); }
+ int base_X;
+ int base_Y;
+ inline int& get_base_X() { return (base_X); }
+ inline int& get_base_Y() { return (base_Y); }
+};

class PacketHeaderClass : public TclClass {


protected:
@@ -543,6 +608,11 @@
assert(p->data_ == 0);
p->uid_ = 0;
p->time_ = 0;
+
+ // MIT_uAMPS
+ hdr_rca* rca_hdr = HDR_RCA(p);
+ rca_hdr->meta_size_ = 0;
+
} else {
p = new Packet;
p->bits_ = new unsigned char[hdrlen_];
@@ -616,6 +686,14 @@
p->data_ = data_->copy();
p->txinfo_.init(&txinfo_);

+ // MIT_uAMPS
+ hdr_rca* ch = HDR_RCA(this);
+ hdr_rca* new_ch = HDR_RCA(p);
+ if (ch->meta_size_) {
+ new_ch->meta_size_ = ch->meta_size_;
+ memcpy(new_ch->meta_, ch->meta_, ch->meta_size_+1);
+ }
+
return (p);
}

@@ -640,4 +718,12 @@
}
}

+// MIT_uAMPS
+inline void Packet::PrintRcHeader(Packet *p, char *layer)
+{
+ hdr_cmn *hdr = HDR_CMN(p);
+ hdr_rca *rca_hdr = HDR_RCA(p);
+ printf("%s Layer received: Type=%d data_size=%d\n\tMeta = %s\n\tSource =
%x\n\tTarget = %x\n\tLink_target =%x\n",layer,rca_hdr->msg_type(), hdr->size(),
rca_hdr->meta(),rca_hdr->rca_mac_src(), rca_hdr->rca_mac_dst(), rca_hdr-
>rca_link_dst());
+}
+
#endif
diff -Naur ns-allinone-2.29/ns-2.29/mac/mac-802_11.cc ns-allinone-2.29-mannasim/ns-
2.29/mac/mac-802_11.cc
--- ns-allinone-2.29/ns-2.29/mac/mac-802_11.cc 2005-10-20 02:45:22.000000000 -0200
+++ ns-allinone-2.29-mannasim/ns-2.29/mac/mac-802_11.cc 2006-05-26
11:08:30.000000000 -0300
@@ -1144,6 +1144,28 @@
*/
if(mhBackoff_.busy() == 0) {
if(is_idle()) {
+
+
+ /// Inserted by the Manna Research Group
+ ///
+ /// This code permits that MAC still uses backoff in the case of
+ /// MAC idles and broadcasting.
+ /// IMPORTANT: NS-2 still works well after added this code, but
+ /// we don't know if it is consistent with other cases.
+ ///
+ /// Added by Fabricio Silva Aguiar - do not loose broadcast messages.
+ ///
+ if((u_int32_t)ETHER_ADDR(dh->dh_ra) == MAC_BROADCAST){
+ mhBackoff_.start(cw_, is_idle());
+ }else{
+ if(mhDefer_.busy() == 0) {
+ rTime = (Random::random() % cw_) *
(phymib_.getSlotTime());
+ mhDefer_.start(phymib_.getDIFS() + rTime);
+ }
+ }
+
+
+
if (mhDefer_.busy() == 0) {
/*
* If we are already deferring, there is no
diff -Naur ns-allinone-2.29/ns-2.29/Makefile.in ns-allinone-2.29-mannasim/ns-
2.29/Makefile.in
--- ns-allinone-2.29/ns-2.29/Makefile.in 2005-10-20 02:45:22.000000000 -0200
+++ ns-allinone-2.29-mannasim/ns-2.29/Makefile.in 2006-05-26 11:08:30.000000000
-0300
@@ -301,6 +301,33 @@
wpan/p802_15_4nam.o wpan/p802_15_4phy.o \
wpan/p802_15_4sscs.o wpan/p802_15_4timer.o \
wpan/p802_15_4trace.o wpan/p802_15_4transac.o \
+ mannasim/accessPointApp.o \
+ mannasim/aggregateProcessing.o \
+ mannasim/battery.o \
+ mannasim/carbonMonoxideAppData.o \
+ mannasim/carbonMonoxideDataGenerator.o\
+ mannasim/clusterHeadApp.o \
+ mannasim/commonNodeApp.o \
+ mannasim/dataGenerator.o \
+ mannasim/onDemandData.o \
+ mannasim/onDemandParameter.o \
+ mannasim/processing.o \
+ mannasim/sensedData.o \
+ mannasim/sensorBaseApp.o \
+ mannasim/sensorNode.o \
+ mannasim/temperatureAppData.o \
+ mannasim/temperatureDataGenerator.o\
+ mannasim/diffusion/nrAttributes.o\
+ mannasim/diffusion/commonNodeDiffApp.o \
+ mannasim/diffusion/accessPointDiffApp.o \
+ mannasim/leach/mac/leach-wireless-phy.o \
+ mannasim/leach/mac/mac-sensor.o \
+ mannasim/leach/mac/mac-sensor-timers.o \
+ mannasim/leach/rca/rca-ll.o \
+ mannasim/leach/rca/rcagent.o \
+ mannasim/leach/app/leachApp.o \
+ mannasim/leach/leachAgent.o \
+ mannasim/leach/app/accessPointLeachApp.o \
@V_STLOBJ@

diff -Naur ns-allinone-2.29/ns-2.29/mannasim/accessPointApp.cc ns-allinone-2.29-


mannasim/ns-2.29/mannasim/accessPointApp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/accessPointApp.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/accessPointApp.cc 2006-05-26
11:12:37.000000000 -0300
@@ -0,0 +1,238 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Implementation of the application that makes the comunication between inside
+/// the WSN and outside it: the access point (AP). The AP is called "Sink" when
+/// we are dealing with a flat WSN, and "Base Station" when it comes to a
+/// hierachical WSN.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabr�cio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "accessPointApp.h"
+
+/// This static class Provides an instance of the AccessPoint class in
+/// the TCL simulation script.
+static class AccessPointClass : public TclClass
+{
+ public:
+ AccessPointClass() : TclClass("Application/AccessPointApp"){}
+ TclObject* create(int, const char*const*){
+ return (new AccessPointApp);
+ }
+}class_access_point_app;
+
+/// AccessPoint constructor. Binds TCL script parameters to C++ code variables.
+AccessPointApp::AccessPointApp():Application()
+{
+ bind("destination_id_",&destination_id);
+ bind("request_type_",&request_type);
+ bind("node_id_",&node_id);
+
+ //diretorio de saida de acordo com cenario simulado
+ bind("diretorio",&diretorio);
+
+ /// Default value for request type (REAL)
+ request_type = 0;
+ onDemandData_ = NULL;
+}
+
+///
+/// NOTE: Specialization of process_data from the NS-2 Process::process_data
+/// function. This method is invoked in Agent::recv().
+void AccessPointApp::process_data(int size, AppData* data)
+{
+ /// Modified by Fabricio Silva. Prevents broadcast messages
+ /// to be erroneous received.
+ if(data->type() == ON_DEMAND_DATA)
+ {
+ return;
+ }
+
+
+
+ AppDataList list = ((SensedData*)data)->getData();
+ printf("Access point - Received a message with %d elements\n",
+ (int)list.size());
+
+ for(AppDataList::iterator it = list.begin(); it != list.end(); it++)
+ {
+ printf("Message received from node %d with %lf delay ::: %lf %lf\n",
+ ((SensedData *) data)->node_id(),
+ Scheduler::instance().clock() - ((SensedData *) data)->timeStamp(),
+ ((SensedData *) data)->timeStamp(),
+ Scheduler::instance().clock());
+ }
+// forward_data(size, data);
+}
+
+///
+void AccessPointApp::forward_data(int size, AppData* data){
+
+ AppDataList list = ((SensedData*)data)->getData();
+ //AppDataList::iterator it;
+ //for(it = list.begin(); it != list.end(); it++){
+ // TemperatureAppData* d = (TemperatureAppData*)(*it);
+ // //printf("AccessPointApp::forward_data: %f\n",d->data());
+ //}
+
+ agent_->daddr() = destination_id;
+ agent_->dport() = DEFAULT_PORT_;
+ agent_->sendmsg(AP_MSG_BYTES_, data->copy());
+
+}
+
+/// Send on demand message.
+void AccessPointApp::send_request()
+{
+ printf("<<Access Point sending a request message.>>\n");
+ if(onDemandData_ == NULL)
+ {
+ fprintf(stderr,"AccessPointApp::send_request - no parameter defined
yet.");
+ return;
+ }
+
+ //temporario este TRAP e SENSOR_REPORT
+ onDemandData_->msgType() = TRAP_;
+ onDemandData_->eventType() = SENSOR_REPORT_;
+ onDemandData_->node_id() = node_id;
+
+ agent_->daddr() = IP_BROADCAST;
+ agent_->dport() = DEFAULT_PORT_;
+ agent_->sendmsg(AP_MSG_BYTES_,onDemandData_->copy());
+ onDemandData_ = NULL;
+}
+
+int AccessPointApp::command(int argc, const char*const* argv)
+{
+ if(argc == 2)
+ {
+ if(strcmp("send_request",argv[1]) == 0)
+ {
+ send_request();
+ return TCL_OK;
+ }
+ else
+ {
+ if(strcmp("stop",argv[1]) == 0)
+ {
+ stop();
+ return TCL_OK;
+ }
+ }
+ }
+
+
+ /**
+ * Syntax form:
+ *
+ * access_point "add_temp_data_param 25.0 0" OU
+ *
+ * access_point "add_temp_data_param 25.0" --> uses the default (0)
+ *
+ * Creates a OnDemandParameter of temperature that are greater (0) than 25.0
+ *
+ * For each SensedData (temperature,...)
+ *
+ */
+ if(argc == 3)
+ {
+ if(strcmp("add_temp_data_param",argv[1]) == 0)
+ {
+ create_parameter(new TemperatureAppData(atof(argv[2]),
+ (double)
(Scheduler::instance().clock())),
+ 0);
+ return TCL_OK;
+ }
+ else
+ {
+ if(strcmp("add_carbon_data_param",argv[1]) == 0)
+ {
+ create_parameter(new CarbonMonoxideAppData(atof(argv[2]),
+ (double)
(Scheduler::instance().clock())),
+ 0);
+ return TCL_OK;
+ }
+ }
+ }
+
+ if(argc == 4)
+ {
+ if(strcmp("add_temp_data_param",argv[1]) == 0)
+ {
+ create_parameter(new TemperatureAppData(atof(argv[2]),
+ (double)
(Scheduler::instance().clock())),
+ atoi(argv[3]));
+ return TCL_OK;
+ }
+ else
+ {
+ if(strcmp("add_carbon_data_param",argv[1]) == 0)
+ {
+ create_parameter(new CarbonMonoxideAppData(atof(argv[2]),
+ (double)
(Scheduler::instance().clock())),
+ atoi(argv[3]));
+ return TCL_OK;
+ }
+ }
+ }
+ return Application::command(argc,argv);
+}
+
+///
+void AccessPointApp::create_parameter(AppData* data, int operation)
+{
+ if(onDemandData_ == NULL)
+ {
+ onDemandData_ = new OnDemandData(request_type);
+ }
+ onDemandData_->insertNewData(new OnDemandParameter(data, operation));
+}
+
+void AccessPointApp::stop()
+{
+ /*char diretorio_saida[60];
+
+ switch(diretorio)
+ {
+ case 0:
+ sprintf(diretorio_saida,"data/grid");
+ break;
+ case 1:
+ sprintf(diretorio_saida, "data/aleatorio");
+ break;
+ case 2:
+ sprintf(diretorio_saida, "data/cluster_grid");
+ break;
+ default:
+ printf("erro no diretorio\n");
+ exit(0);
+ }
+
+ Contabiliza::instance()->imprime(diretorio_saida);*/
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/accessPointApp.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/accessPointApp.h
--- ns-allinone-2.29/ns-2.29/mannasim/accessPointApp.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/accessPointApp.h 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,103 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Implementation of the application that makes the comunication between inside
+/// the WSN and outside it: the access point (AP). The AP is called "Sink" when
+/// we are dealing with a flat WSN, and "Base Station" when it comes to a
+/// hierachical WSN.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabr�cio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __access_point_h__
+#define __access_point_h__
+
+#include <common/agent.h>
+#include <common/packet.h>
+#include <common/ns-process.h>
+
+
+#include "processing.h"
+#include "sensedData.h"
+#include "onDemandData.h"
+#include "sensorBaseApp.h"
+#include "util/accounts.h"
+#include "onDemandParameter.h"
+#include "temperatureAppData.h"
+#include "carbonMonoxideAppData.h"
+
+/// Access point size messages.
+#define AP_MSG_BYTES_ 64
+
+/// Access point application. Simulates the behavior of an access point.
+class AccessPointApp : public Application{
+
+ public:
+
+ /// Default Constructor
+ AccessPointApp();
+
+ /// Method called from the transport protocol for the application to
+ /// receive a message. Method from Process (ns-process.cc) overcharged
+ virtual void process_data(int size, AppData* data);
+
+ /// NS-2 function.
+ int command(int argc, const char*const* argv);
+
+ ///
+ virtual void stop();
+
+ protected:
+
+ ///
+ virtual void forward_data(int size, AppData* data);
+
+ private:
+
+ /// Access point address.
+ int node_id;
+
+ /// Message node destination
+ int destination_id;
+
+ /// Object that represents the response of a request.
+ OnDemandData* onDemandData_;
+
+ /// Indicates the request type in on demand message (OnDemandData)
+ int request_type;
+
+ /// Variable used to indicates the directory indicates simulation
+ /// results directory. Temporary, used on wgrs04.
+ int diretorio;
+
+ void send_request();
+
+ void create_parameter(AppData* data, int operation);
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/aggregateProcessing.cc ns-allinone-
2.29-mannasim/ns-2.29/mannasim/aggregateProcessing.cc
--- ns-allinone-2.29/ns-2.29/mannasim/aggregateProcessing.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/aggregateProcessing.cc 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,99 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Class that simulates the aggregating processing activity on sensed data.
+/// It's a specialization of processing class.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "aggregateProcessing.h"
+
+/// This static class creates a link between the C++ class and the TCL script
+/// in the simulation scenario. Provides an instance of the
+/// AggregateProcessing class in the TCL simulation script.
+static class AggregateProcessingClass : public TclClass
+{
+ public:
+ AggregateProcessingClass() : TclClass("Processing/AggregateProcessing")
{}
+ TclObject* create(int, const char*const*){
+ return (new AggregateProcessing);
+ }
+
+}class_aggregate_processing;
+
+/// Default construtor, clear processed data buffer (info_)
+AggregateProcessing::AggregateProcessing() : Processing()
+{
+ info_ = NULL;
+}
+
+/// Simulates sensed data aggregating processing. The parametric data
+/// is added in processed data buffer and energy is decresed from node
+/// battery.
+void AggregateProcessing::processSensedData(AppData* data_)
+{
+ if (info_ == NULL)
+ {
+ info_ = new SensedData;
+ }
+
+ info_->insertNewData(data_->copy());
+
+ // The activity above wastes sensor node energy! PROCESSING WASTE HERE!
+ ((Battery*)sensor_node_->energy_model())->DecrProcessingEnergy(
+
AGGREGATION_INSTRUCTIONS,
+
sensor_node_->instructionsPerSecond(),
+
sensor_node_->processingPower());
+}
+
+/// Receives data from multiple sources and aggregates them. Useful
+/// for cluster head based networks.
+void AggregateProcessing::recvData(AppData* data_)
+{
+ if (info_ == NULL)
+ {
+ info_ = new SensedData;
+ }
+
+ AppDataList list = ((SensedData*)data_)->getData();
+ AppDataList::iterator it;
+
+ /// Aggregates all sensed data
+ for (it = list.begin(); it != list.end(); it++)
+ {
+ info_->insertNewData(*it);
+ }
+
+ // The activity above wastes sensor node energy! PROCESSING WASTE HERE!
+ ((Battery*)sensor_node_->energy_model())->DecrProcessingEnergy(
+
AGGREGATION_INSTRUCTIONS,
+
sensor_node_->instructionsPerSecond(),
+
sensor_node_->processingPower());
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/aggregateProcessing.h ns-allinone-
2.29-mannasim/ns-2.29/mannasim/aggregateProcessing.h
--- ns-allinone-2.29/ns-2.29/mannasim/aggregateProcessing.h1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/aggregateProcessing.h 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,59 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Class that simulates the aggregating processing activity on sensed data.
+/// It's a specialization of processing class.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __aggregate_processing__
+#define __aggregate_processing__
+
+#include "processing.h"
+
+/// Specialize Processing class adding aggregation to processing module.
+///
+/// extends Processing
+class AggregateProcessing : public Processing
+{
+ public:
+
+ /// Constructor
+ AggregateProcessing();
+
+ /// Simulates sensed data processing. Used in continous and
+ /// programmed data sensing.
+ virtual void processSensedData(AppData* data_);
+
+ /// Receives data from multiple source and aggregates them.
+ virtual void recvData(AppData* data_);
+};
+
+#endif
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/battery.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/battery.cc
--- ns-allinone-2.29/ns-2.29/mannasim/battery.cc 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/battery.cc 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,145 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class represents the power supply of the node. It is derived from
+/// NS-2 Energy model.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "battery.h"
+
+/// This static class creates a link between the C++ class and the TCL script
+/// in the simulation scenario. Provides an instance of the
+/// Battery class in the TCL simulation script.
+static class BatteryClass : public TclClass
+{
+ public:
+ BatteryClass ():TclClass ("EnergyModel/Battery") {}
+ TclObject *create (int argc, const char *const *argv){
+ if (argc == 8)
+ {
+ MobileNode *n=(MobileNode*)TclObject::lookup(argv[4]);
+ return (new Battery(n,
+ atof(argv[5]),
+ atof(argv[6]),
+ atof(argv[7])));
+ }
+ else
+ {
+ Tcl::instance().add_error("Wrong arguments to Battery");
+ return 0;
+ }
+ }
+} class_battery;
+
+/// Constructor. Invoke EnergyModel constructor with need parameters.
+Battery::Battery(MobileNode* node, double energy, double l1, double l2) :
+ EnergyModel(node,
energy, l1, l2)
+{
+}
+
+/// Computes the energy consumed when the node is sensing data.
+void Battery::DecrSensingEnergy(double sensing_time, double sensing_power)
+{
+ double consumed_energy = sensing_power * sensing_time;
+
+ /// The energy_ variable indicates the amount of energy of the node.
+ /// This variable is defined at EnergyModel class.
+ if (energy_ <= consumed_energy)
+ {
+ energy_ = 0.0;
+ }
+ else
+ {
+ energy_ = energy_ - consumed_energy;
+ }
+}
+
+/// Computes the energy consumed when the node is processing data.
+void Battery::DecrProcessingEnergy(int number_instructions, double
instructions_per_second, double processing_power)
+{
+ double processing_time;
+ double consumed_energy;
+
+ if (instructions_per_second == 0)
+ {
+ fprintf(stderr,"Battery::DecrProcessingEnergy - Division by
zero!!!\n");
+ abort();
+ }
+
+ processing_time = ((double)(number_instructions))/instructions_per_second;
+ consumed_energy = processing_power * processing_time;
+
+ /// The energy_ variable indicates the amount of energy of the node.
+ /// This variable is defined at EnergyModel class.
+ if (energy_ <= consumed_energy)
+ {
+ energy_ = 0.0;
+ }
+ else
+ {
+ energy_ = energy_ - consumed_energy;
+ }
+}
+
+/// Turn senso node On.
+void Battery::setNodeOn(){
+ node_on_ = true;
+}
+
+/// Turn the node Off
+void Battery::setNodeOff(){
+ node_on_ = false;
+}
+
+/// Put node in sleep mode.
+void Battery::sleep()
+{
+ struct if_head head;
+
+ head = ((Node *) node_)->ifhead();
+
+ for (Phy * wp = head.lh_first; wp; wp = wp->nextnode())
+ {
+ ((WirelessPhy *) wp)->node_off();
+ }
+}
+
+/// Wake up sleppy sensor node.
+void Battery::wakeUp()
+{
+ struct if_head head;
+
+ head = ((Node *) node_)->ifhead();
+
+ for (Phy * wp = head.lh_first; wp; wp = wp->nextnode())
+ {
+ ((WirelessPhy *) wp)->node_on();
+ }
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/battery.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/battery.h
--- ns-allinone-2.29/ns-2.29/mannasim/battery.h 1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/battery.h 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,82 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class represents the power supply of the node. It is derived from
+/// NS-2 Energy model.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __ns_battery_h__
+#define __ns_battery_h__
+
+#include <node.h>
+#include <energy-model.h>
+#include <wireless-phy.h>
+
+/* This class represents the sensor node battery. It inherits from
+the NS-2 EnergyModel*/
+
+/// Represents sensor node batery. Include method to turn the node on and off
+/// put it to sleep and make it wake up. Also contains a method to decrease
+/// energy when work is done by the sensor.
+///
+/// extends EnergyModel
+class Battery : public EnergyModel{
+
+ public:
+
+ /* Construtor: invoke the EnergyModel constructor with the need parameters */
+ /// Constructor
+ Battery(MobileNode* node, double energy, double l1, double l2);
+
+ /* fun��o que decrementa a energia gasta com sensoriamento:
+ * par�metros: tempo de sensoriamento e pot�ncia (W) do sensor
+ * */
+ virtual void DecrSensingEnergy(double sensing_time, double sensing_power);
+
+ /* fun��o que decrementa a energia gasta com processamento
+ * par�metros: n�mero de instru��es realizadas e pot�ncia (W)
+ * do processador
+ * */
+ virtual void DecrProcessingEnergy(int number_instructions, double
instructions_per_second, double processing_power);
+
+ /// Turn node On.
+ virtual void setNodeOn();
+
+ /// Turn node Off.
+ virtual void setNodeOff();
+
+ /// Put node in Sleep mode.
+ virtual void sleep();
+
+ /// Wake up the sleepy node.
+ virtual void wakeUp();
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/carbonMonoxideAppData.cc ns-allinone-
2.29-mannasim/ns-2.29/mannasim/carbonMonoxideAppData.cc
--- ns-allinone-2.29/ns-2.29/mannasim/carbonMonoxideAppData.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/carbonMonoxideAppData.cc 2006-
05-26 11:08:30.000000000 -0300
@@ -0,0 +1,136 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Defines a carbon monoxide application data type. Encapsulates the
+/// raw carbon monoxide data from DataGenerator.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+/// Julio Cesar e Melo
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "carbonMonoxideAppData.h"
+
+/// CarbonMonoxideAppData constructor. Sets carbonMonoxideLevel and colleted
+/// time for the object, also calls super class constructor AppDataAttrsExporter()
+/// with AppDataType carbon monoxide.
+CarbonMonoxideAppData::CarbonMonoxideAppData(double carbonMonoxideLevel, double
sample_time)
+ : AppDataAttrsExporter(CARBON_MONOXIDE_SENSED_DATA)
+{
+ data_ = carbonMonoxideLevel;
+ time_ = sample_time;
+}
+
+/// Checks if the value of the current object of this class is greater
+/// than the value of the parameter object. Until now, we only implemented
+/// the GREATER THAN option for EVENT DRIVEN network.
+bool CarbonMonoxideAppData::checkEvent(AppData* data_)
+{
+ /// Already know that AppData dynamic type is CarbonMonoxideAppData,
+ /// so perform the casting.
+ double value = ((CarbonMonoxideAppData*)data_)->data();
+
+ if(value >= this->data())
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+/// Check if current value satisfies the condition especified by operation
+/// and data parameters. This method is used in ON DEMAND network.
+bool CarbonMonoxideAppData::compareData(AppData* data, int operation)
+{
+ /// Already know that AppData dynamic type is CarbonMonoxideAppData,
+ /// so perform the casting.
+ double value = ((CarbonMonoxideAppData*)data)->data();
+
+ switch (operation)
+ {
+ case GREATER_THAN:
+ return (value > this->data());
+
+ case LESS_THAN:
+ return (value < this->data());
+
+ case EQUAL:
+ return (value == this->data());
+
+ default:
+ fprintf(stderr,"CarbonMonoxideAppData::compareData - Invalid
Operation.\n");
+ return false;
+ }
+}
+
+/// Sets atributes about carbon monoxide sensed data. Called by
+/// CommonNodeDiffApp (directed difusion).
+///
+/// Created by Julio Cesar e Melo
+void CarbonMonoxideAppData::setAttributes(NRAttrVec * attrs)
+{
+ attrs->push_back(
+ SensedValueAttr.make(NRAttribute::IS, this->data()));
+}
+
+/// Returns the size of the CarbonMonoxideAppData object. Size in bytes.
+int CarbonMonoxideAppData::size() const
+{
+ return sizeof(CarbonMonoxideAppData);
+}
+
+/// Creates a copy of this CarbonMonoxideAppData object.
+AppData * CarbonMonoxideAppData::copy()
+{
+ return new CarbonMonoxideAppData(data_, time_);
+}
+
+/// Returns carbon monoxide data.
+double CarbonMonoxideAppData::data()
+{
+ return data_;
+}
+
+/// Ajusts carbon monoxide data.
+void CarbonMonoxideAppData::setData(double data)
+{
+ data_ = data;
+}
+
+/// Returns carbon monoxide timestamp
+double CarbonMonoxideAppData::time()
+{
+ return time_;
+}
+
+/// Ajusts carbon monoxide data timestamp.
+void CarbonMonoxideAppData::setTime(double time)
+{
+ time_ = time;
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/carbonMonoxideAppData.h ns-allinone-
2.29-mannasim/ns-2.29/mannasim/carbonMonoxideAppData.h
--- ns-allinone-2.29/ns-2.29/mannasim/carbonMonoxideAppData.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/carbonMonoxideAppData.h 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,93 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Defines a carbon monoxide application data type. Encapsulates the
+/// raw carbon monoxide data from DataGenerator.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+/// Julio Cesar e Melo
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __carbonMonoxideAppData_h__
+#define __carbonMonoxideAppData_h__
+
+#include <common/ns-process.h>
+#include <nr.hh>
+
+#include "onDemandParameter.h"
+#include "diffusion/nrAttributes.h"
+#include "diffusion/attrsExporter.h"
+
+/// Creates a carbon monoxide application data type. This data type
+/// represents the pure data collect by the sensor node. This data
+/// is sent to the processing module for futher treatment.
+///
+/// extends AppDataAttrsExporter
+class CarbonMonoxideAppData : public AppDataAttrsExporter
+{
+ public:
+
+ /// Constructor, parameters are carbon monoxide data collected
+ /// and timestamp
+ CarbonMonoxideAppData(double carbonMonoxideLevel, double sample_time);
+
+ /// Creates a copy of the object.
+ AppData* copy();
+
+ /// Size, in bytes, of the object.
+ int size() const;
+
+ /// Check if satisfies the condition especified by
+ /// operation and value. It is used in ON DEMAND network
+ bool compareData(AppData* data, int operation);
+
+ /// Check if the value is greater than this one.
+ /// It is used in EVENT DRIVEN network
+ bool checkEvent(AppData* data_);
+
+ /// Accessor methods
+ double data();
+ double time();
+
+ void setData(double data);
+ void setTime(double time);
+
+ /// Set attributes of sensed data. This is called by CommonNodeDiffApp.
+ /// Changed by Julio Cesar e Melo.
+ virtual void setAttributes(NRAttrVec * attrs);
+
+ private:
+
+ /// Carbon monoxide data.
+ double data_;
+
+ /// Timestamp for monoxide data.
+ double time_;
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/carbonMonoxideDataGenerator.cc ns-
allinone-2.29-mannasim/ns-2.29/mannasim/carbonMonoxideDataGenerator.cc
--- ns-allinone-2.29/ns-2.29/mannasim/carbonMonoxideDataGenerator.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/carbonMonoxideDataGenerator.cc
2006-05-26 11:08:30.000000000 -0300
@@ -0,0 +1,108 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Generates synthetic temperature data. Simulates a carbon monoxide sensor
+/// node sensing the environment.
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#include "carbonMonoxideDataGenerator.h"
+
+
+/// This static class creates a link between the C++ class and the TCL script
+/// in the simulation scenario. Provides an instance of
+/// CarbonMonoxideDataGenerator class in the TCL simulation script.
+static class CarbonMonoxideDataGeneratorClass : public TclClass
+{
+ public:
+ CarbonMonoxideDataGeneratorClass() : TclClass(
+ "DataGenerator/CarbonMonoxideDataGenerator"){}
+ TclObject* create(int, const char*const*)
+ {
+ return (new CarbonMonoxideDataGenerator);
+ }
+
+}class_carbon_monoxide_data_generator;
+
+/// Constructor, binds TCL script parameters to C++ code variables and
+/// creates a disseminating timer.
+CarbonMonoxideDataGenerator::CarbonMonoxideDataGenerator() :
+
DataGenerator(CARBON_MONOXIDE_SENSED_DATA)
+{
+ // Creates the random number that that generates the syntectic data.
+ rand_ = new RNG(RNG::HEURISTIC_SEED_SOURCE, 1);
+
+ /// Get from the TCL script: data average, standard deviation, and maximum
+ /// Carbon Monoxide value allowed.
+ bind("avg_measure",&avg_measure);
+ bind("std_deviation",&std_deviation);
+ bind("maximumCarbonMonoxideValue",&maximumCarbonMonoxideValue);
+}
+
+/// Carbon monoxide sensing simulation. This is the most important function
+/// since it creates the random data, encapsulates it on a AppData type and
+/// return it to the sensor node.
+AppData* CarbonMonoxideDataGenerator::collect()
+{
+ double monoxide = rand_->normal(avg_measure, std_deviation);
+
+ printf("Carbon Monoxide Data %f - Time %f\n",
+
monoxide,Scheduler::instance().clock());
+
+ CarbonMonoxideAppData* data = new CarbonMonoxideAppData(
+ monoxide,
Scheduler::instance().clock());
+
+ /// Returns an application data that contains the carbon monoxide collect
+ /// value
+ return data;
+}
+
+/// NS-2 command function overloaded. Deals with TCL script commands to C++
+/// implementation.
+int CarbonMonoxideDataGenerator::command(int argc, const char*const* argv)
+{
+ if(argc == 3){
+ if(strcmp("set-event",argv[1]) == 0)
+ {
+ avg_measure = atof(argv[2]);
+ printf("EVENT: New avg_measure: %.3f\n",atof(argv[2]));
+ return TCL_OK;
+ }
+ }
+ return DataGenerator::command(argc, argv);
+}
+
+/// Returns average measure for synthetic carbon monoxide generation.
+double CarbonMonoxideDataGenerator::getAvgMeasure()
+{
+ return avg_measure;
+}
+
+/// Sets average measure value for synthetic carbon monoxide generation.
+void CarbonMonoxideDataGenerator::setAvgMeasure(double avg_measure)
+{
+ this->avg_measure = avg_measure;
+}
+
+/// Returns the maximum allowed carbon monoxide value.
+CarbonMonoxideAppData* CarbonMonoxideDataGenerator::getMaximumAllowedValue()
+{
+ return new CarbonMonoxideAppData(maximumCarbonMonoxideValue,0.0);
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/carbonMonoxideDataGenerator.h ns-
allinone-2.29-mannasim/ns-2.29/mannasim/carbonMonoxideDataGenerator.h
--- ns-allinone-2.29/ns-2.29/mannasim/carbonMonoxideDataGenerator.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/carbonMonoxideDataGenerator.h 2006-
05-26 11:08:30.000000000 -0300
@@ -0,0 +1,62 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Generates synthetic carbon monoxide data. Simulates a temperature sensor
+/// node sensing the environment.
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#ifndef __carbon_monoxide_data_generator__
+#define __carbon_monoxide_data_generator__
+
+#include "dataGenerator.h"
+#include "carbonMonoxideAppData.h"
+
+/// Generate synthetic carbon monoxide data. Synthetic data is based on average
+/// and standard deviation values for a normal probability distribution. A
+/// maximum allowed value should also be set.
+/// extends DataGenerator
+class CarbonMonoxideDataGenerator : public DataGenerator
+{
+ public:
+
+ /// Constructor
+ CarbonMonoxideDataGenerator();
+
+ /// Data sensing simulation function
+ AppData* collect();
+
+ /// NS-2 function
+ virtual int command(int argc, const char*const* argv);
+
+ /// Accessor methods
+ double getAvgMeasure();
+ void setAvgMeasure(double avg_measure);
+ virtual CarbonMonoxideAppData* getMaximumAllowedValue();
+
+ protected:
+ RNG* rand_;
+
+ double avg_measure;
+ double std_deviation;
+ double maximumCarbonMonoxideValue;
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/clusterHeadApp.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/clusterHeadApp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/clusterHeadApp.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/clusterHeadApp.cc 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,201 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class simulates the behavior of a cluster head in a wireless
+/// sensor network. Dispates its more capacity to process and disseminate
+/// sensed data, a cluster head must also have a group of nodes under
+/// its responsability - a child list.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabr�cio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "clusterHeadApp.h"
+
+/// This static class Provides an instance of the ClusterHeadApp class in
+/// the TCL simulation script.
+static class ClusterHeadAppClass : public TclClass{
+
+ public:
+ ClusterHeadAppClass() :
TclClass("Application/SensorBaseApp/ClusterHeadApp"){}
+ TclObject* create(int, const char*const*){
+ return (new ClusterHeadApp);
+ }
+
+}class_cluster_head_app;
+
+/// Default constructor. Does notjhing, only calls the super class
+/// (SensorBaseApp) default constructor.
+ClusterHeadApp::ClusterHeadApp() : SensorBaseApp()
+{
+}
+
+/// ClusterHeadApp object needs this method to receive request (on demand)
+/// messages.
+/// NOTE: Specialization of process_data from the NS-2 Process::process_data
+/// function. This method is invoked in Agent::recv().
+void ClusterHeadApp::process_data(int size, AppData* data){
+
+ if(data == NULL)
+ {
+ fprintf(stderr,"ClusterHeadApp::process_data() --> data is NULL\n");
+ abort();
+ }
+
+ /// The received data isn�t for "me"
+ if(((SensedData*)data)->node_id() != destination_id_)
+ {
+ /// It is a broadcast message from other Cluster Head
+ if(data->type() == ON_DEMAND_DATA)
+ {
+ return;
+ }
+
+ /// The node from where the message came isn�t on the
+ /// Cluster Head child list, insert node on child list.
+ if(!search_child(((SensedData*)data)->node_id()))
+ {
+ insert_child(((SensedData*)data)->node_id());
+ }
+
+ if(processing_ == NULL)
+ {
+ fprintf(stderr,"ClusterHeadApp::process_data() --> processing is
NULL\n");
+ abort();
+ }
+
+ /// Here occurs the data processing
+ processing_->recvData(data);
+
+ /// If the disseminating type is continuous, send data
+ /// immediately
+ if(disseminating_type_ == CONTINUOUS)
+ {
+ disseminateData();
+ }
+
+ }
+ else
+ {
+ /// The received data is for "me" and I am an Access Point
+ //is the AP
+ //implementar para recebimento de request
+ if(data->type() == ON_DEMAND_DATA)
+ {
+ //ver como passar este m�todo para o processing, j� que ser�
+ //diferente do nodo comum
+ processRequest(data);
+ }
+ }
+ printf("Cluster Head Node %d - Received message - Time %.3f - Source Node
%d!\n",
+ sensor_node_->nodeid(), Scheduler::instance().clock(),
((SensedData*)data)->node_id());
+}
+
+/// Disseminate the sensed data throught the network.
+void ClusterHeadApp::disseminateData()
+{
+ if(processing_ == NULL)
+ {
+ fprintf(stderr,"ClusterHeadApp::disseminateData() --> processing is
NULL\n");
+ abort();
+ }
+
+ /// Get the processed data.
+ SensedData* data_ = processing_->getProcessedData();
+
+ /// If there is any information to be disseminated, do it!
+ if(data_ != NULL)
+ {
+ printf("Cluster Head Node %d - Disseminating Data - Destination Node %d
- Time %.3f\n",
+ sensor_node_->nodeid(),
destination_id_,Scheduler::instance().clock());
+
+ /// Configure agent to disseminate the parameter data.
+ agent_->daddr() = destination_id_;
+ agent_->dport() = DEFAULT_PORT_;
+
+ /// verificar como � a mensagem sem gerenciamento, pois TRAP � de
+ /// gerenciamento.
+ data_->msgType() = TRAP_;
+ data_->eventType() = SENSOR_REPORT_;
+ data_->node_id() = sensor_node_->nodeid();
+
+ /// Send the message.
+ agent_->sendmsg(CH_MSG_BYTES_,data_->copy());
+ processing_->resetData();
+ }
+}
+
+/// Forwards a request message for all child in child list.
+void ClusterHeadApp::processRequest(AppData* data)
+{
+ if(data == NULL)
+ {
+ fprintf(stderr,"ClusterHeadApp::processRequest() --> data is NULL\n");
+ abort();
+ }
+
+ printf("Cluster Head Node %d sending request data!\n",sensor_node_-
>nodeid());
+
+ /// Configure agent to disseminate the parameter data.
+ agent_->daddr() = IP_BROADCAST;
+ agent_->dport() = DEFAULT_PORT_;
+
+ /// Changes the address of source node so the child will receive the
+ /// message.
+ ((SensedData*)data)->node_id() = sensor_node_->nodeid();
+
+ /// Send the message.
+ agent_->sendmsg(CH_MSG_BYTES_,data->copy());
+}
+
+/// Inserts a nwe item in Cluster Head child list
+void ClusterHeadApp::insert_child(int id)
+{
+ child_list.push_back(id);
+}
+
+/// Removes all itens that are equal to id.
+void ClusterHeadApp::remove_child(int id)
+{
+ child_list.remove(id);
+}
+
+/// Returns a boolean indicating if node "id" is in cluster head
+/// child list.
+bool ClusterHeadApp::search_child(int id)
+{
+ for(IdList::iterator it = child_list.begin(); it != child_list.end(); ++it)
+ {
+ if(*it == id)
+ {
+ return true;
+ }
+ }
+ return false;
+}
+
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/clusterHeadApp.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/clusterHeadApp.h
--- ns-allinone-2.29/ns-2.29/mannasim/clusterHeadApp.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/clusterHeadApp.h 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,90 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class simulates the behavior of a cluster head in a wireless
+/// sensor network. Dispates its more capacity to process and disseminate
+/// sensed data, a cluster head must also have a group of nodes under
+/// its responsability - a child list.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabr�cio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __cluster_head_h__
+#define __cluster_head_h__
+
+#include <list>
+#include <stdio.h>
+#include <common/ns-process.h>
+
+#include "sensorBaseApp.h"
+
+using namespace std;
+
+typedef list<int> IdList;
+
+/// Size of cluster head messages (in bytes)
+#define CH_MSG_BYTES_ 64
+
+/// Simulates the behavior of a wireless sensor network cluster head
+/// device.
+class ClusterHeadApp : public SensorBaseApp {
+
+ public:
+
+ /// Default Constructor
+ ClusterHeadApp();
+
+ /// Process the sensed data. Specialization of
+ /// Process::process_data() function. See NS-2 documentation
+ /// for details.
+ virtual void process_data(int size, AppData* data);
+
+ virtual void processRequest(AppData* data);
+
+ protected:
+
+ /// Insert a new node in the child list.
+ void insert_child(int id);
+
+ /// Remove the node with addr = id in the child list.
+ void remove_child(int id);
+
+ /// Search for a node with addr = id in the child list.
+ bool search_child(int id);
+
+ /// Disseminate data to the network.
+ virtual void disseminateData();
+
+ private:
+
+ /// Children list of the cluster head
+ IdList child_list;
+
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/commonNodeApp.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/commonNodeApp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/commonNodeApp.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/commonNodeApp.cc 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,219 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Represents common-nodes application which performs data dissemination
+/// using the disseminateData method, processing using processSensedData
+/// method and other functions using CommonNodeApp methods.
+/// The CommonNodeApp is a specialization of SensorBaseApp class.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabr�cio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "commonNodeApp.h"
+
+/// This static class Provides an instance of the CommonNodeApp class in
+/// the TCL simulation script
+static class CommonNodeAppClass : public TclClass
+{
+ public:
+ CommonNodeAppClass() :
TclClass("Application/SensorBaseApp/CommonNodeApp"){}
+ TclObject* create(int, const char*const*){
+ return (new CommonNodeApp);
+ }
+
+}class_common_node_app;
+
+/// Default constructor. Does notjhing, only calls the super class
+/// (SensorBaseApp) default constructor.
+CommonNodeApp::CommonNodeApp():SensorBaseApp()
+{
+}
+
+/// NS-2 command function overloaded. Deals with TCL script commands to C++
+/// implementation.
+int CommonNodeApp::command(int argc, const char*const* argv)
+{
+ if (argc == 2)
+ {
+ if (strcmp(argv[1],"start") == 0) {
+ start();
+ return TCL_OK;
+ }
+ if (strcmp(argv[1],"stop") == 0) {
+ stop();
+ return TCL_OK;
+ }
+ }
+ return SensorBaseApp::command(argc, argv);
+}
+
+/// CommonNodeApp object needs this method to receive request (on demand)
+/// messages.
+/// NOTE: Specialization of process_data from the NS-2 Process::process_data
+/// function. This method is invoked in Agent::recv().
+void CommonNodeApp::process_data(int size, AppData* data)
+{
+ if (isDead())
+ {
+ return;
+ }
+
+ if(data == NULL)
+ {
+ fprintf(stderr,"CommonNodeApp::process_data() --> data is NULL\n");
+ abort();
+ }
+
+ /// If the message is for "me", process it (throught disseminanteDaTa()).
+ if(((SensedData*)data)->node_id() == destination_id_)
+ {
+ printf("Common Node %d receive a message.\n",sensor_node_->nodeid());
+ disseminateData(((SensedData*)processing_->processRequest(data)));
+ }
+ else
+ {
+// fprintf(stderr,"Source is not correct!!\n");
+ }
+}
+
+/// Disseminate the sensed data throught the network.
+void CommonNodeApp::disseminateData()
+{
+ if (isDead())
+ {
+ return;
+ }
+
+ if(processing_ == NULL)
+ {
+ fprintf(stderr,"CommonNodeApp::disseminateData() --> processing is
NULL\n");
+ abort();
+ }
+
+ // If there is information to be disseminated, do it!
+ SensedData* data_ = processing_->getProcessedData();
+ if (data_ != NULL){
+ disseminateData(data_);
+ processing_->resetData();
+ }
+}
+
+/// Disseminate the sensed data throught the network. The data to be sent is
+/// passed by reference. This function is also invoked by the it�s no parametric
+/// version - disseminateData().
+void CommonNodeApp::disseminateData(SensedData* data_)
+{
+ if(data_ != NULL && !isDead())
+ {
+ /// For user information only.
+ printf("Common Node %d - Disseminating data - Time %.3f - Destination
node %d\n",
+ sensor_node_-
>nodeid(),Scheduler::instance().clock(),destination_id_);
+
+ /// Configure agent to disseminate the parameter data.
+ agent_->daddr() = destination_id_;
+ agent_->dport() = DEFAULT_PORT_;
+
+ /// verificar como � a mensagem sem gerenciamento, pois TRAP � de
+ /// gerenciamento.
+ data_->msgType() = TRAP_;
+ data_->eventType() = SENSOR_REPORT_;
+ data_->node_id() = sensor_node_->nodeid();
+
+ /// Send the message.
+ agent_->sendmsg(MSG_BYTES_,data_->copy());
+ }
+}
+
+/// Receives data from the sensing activity and performs data
+/// processing according to the processing object that
+/// is attached to the node (Processing::processSensedData method).
+void CommonNodeApp::recvSensedData(AppData* data_)
+{
+ if (isDead())
+ {
+ return;
+ }
+
+ if(data_ == NULL){
+ fprintf(stderr,"CommonNodeApp::recvSensedData() --> data_ is NULL\n");
+ abort();
+ }
+
+ if(processing_ == NULL)
+ {
+ fprintf(stderr,"CommonNodeApp::recvSensedData() --> processing is
NULL\n");
+ abort();
+ }
+
+ /// Here occurs the data processing
+ processing_->processSensedData(data_->copy());
+
+ /// If the disseminating type is continuous, send data
+ /// immediately
+ if(disseminating_type_ == CONTINUOUS){
+ disseminateData();
+ }
+}
+
+/// Receives data from the sensing activity and performs data
+/// processing according to the processing object that
+/// is attached to the node (Processing::processSensedData method).
+/// This function is oriented to a EVENT_DRIVEN sensor network. It
+/// verify if the data is of interest, and disseminate it only if it is.
+void CommonNodeApp::recvSensedData(AppData* data_, AppData* eventData_)
+{
+ if (isDead())
+ return;
+
+ if(processing_ == NULL)
+ {
+ fprintf(stderr,"CommonNodeApp::recvSensedData() --> processing is
NULL\n");
+ abort();
+ }
+
+ AppData* processedData_;
+
+ /// Here occurs the data processing
+ processedData_ = processing_->processSensedData(data_->copy(),
+
eventData_->copy());
+
+ /// Data is of interest so disseminate it.
+ if(processedData_ != NULL)
+ {
+ SensedData* sensedData = new SensedData();
+ sensedData->insertNewData(processedData_);
+ disseminateData(sensedData);
+ }
+}
+
+/// Returns a boolean indicating if the node is dead or not. Dead means that the
+/// node ran out energy.
+inline bool CommonNodeApp::isDead()
+{
+ return ((Battery *) sensor_node_->energy_model())->energy() <= 0;
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/commonNodeApp.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/commonNodeApp.h
--- ns-allinone-2.29/ns-2.29/mannasim/commonNodeApp.h 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/commonNodeApp.h 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,95 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Represents common-nodes application which performs data dissemination
+/// using the disseminateData method, processing using processSensedData
+/// method and other functions using CommonNodeApp methods.
+/// The CommonNodeApp is a specialization of SensorBaseApp class.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabr�cio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __common_node_app__
+#define __common_node_app__
+
+#include <common/ns-process.h>
+#include <common/agent.h>
+#include <common/packet.h>
+
+#include "battery.h"
+#include "processing.h"
+#include "sensedData.h"
+#include "processing.h"
+#include "sensorNode.h"
+#include "onDemandData.h"
+#include "sensorBaseApp.h"
+#include "dataGenerator.h"
+#include "onDemandParameter.h"
+
+/// Common sensor node application. Sensing Dynamics:
+/// 1. Data is generated by the DataGenerator object.
+/// 2. The Processing object receives the generated data and
+/// disseminates it acording to the dissemination type to be
+/// done (programed, continuous, on demand or event driven).
+/// extends SensorBaseApp
+class CommonNodeApp : public SensorBaseApp {
+
+ public:
+
+ /// Constructor
+ CommonNodeApp();
+
+ /// NS-2 Function
+ int command(int argc, const char*const* argv);
+
+ protected:
+
+ /// Process the sensed data. Specialization of
+ /// Process::process_data() function. See NS-2 documentation
+ /// for details.
+ virtual void process_data(int size, AppData* data_);
+
+ /// Disseminates data to the network.
+ virtual void disseminateData();
+
+ /// Disseminates the parameter data to the network.
+ virtual void disseminateData(SensedData* data_);
+
+ /// Receives sensed data, process it and disseminate (only in
+ /// contiuous sensing).
+ virtual void recvSensedData(AppData* data_);
+
+ /// Receives sensed data, event that generated the data, process
+ /// it, and if the event and data are valid, disseminate data.
+ virtual void recvSensedData(AppData* data_, AppData* eventData_);
+
+ /// Informs if the node ran off energy or not.
+ inline bool isDead();
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/dataGenerator.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/dataGenerator.cc
--- ns-allinone-2.29/ns-2.29/mannasim/dataGenerator.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/dataGenerator.cc 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,183 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Base class for the generation of synthetic data. Specialized sensed data,
+/// such as temperture, magnetic field, video, among others, should extends
+/// this class and add the necessary modifications.
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#include "dataGenerator.h"
+
+
+/// Whenever the sensing timer expires, the generator generateData()
+/// method should be invoked. The timer should also be rescheduled.
+void SensingTimer::expire(Event*)
+{
+ gen_->generateData();
+}
+
+/// Constructor. Binds TCL script parameters to C++ code variables and
+/// creates a disseminating timer.
+DataGenerator::DataGenerator(AppDataType type) : TclObject()
+{
+ sensTimer_ = new SensingTimer(this);
+ type_ = type;
+
+ bind("sensing_type_",&sensing_type_);
+ bind("sensing_interval_",&sensing_interval_);
+
+}
+
+/// Invokes the collect() function of the sensing object, and gives the
+/// result of it as a parameter for the processData() processing Object
+/// function. This simulates the behavior of a sensor node, when it senses
+/// the environment and then gives the obtained data to its
+/// computational part so it can process it.
+void DataGenerator::generateData()
+{
+ double sensT;
+ SensorAppList::iterator it;
+ SensorBaseApp *app_instance_;
+
+ for(it = app_.begin(); it != app_.end(); it++)
+ {
+ app_instance_ = (*it);
+
+ /// Display node id for debug proposes
+ if((app_instance_->sensor_node_->nodeid()) > 9)
+ {
+ printf("Node %d - ", app_instance_->sensor_node_->nodeid());
+ }
+ else
+ {
+ printf("Node 0%d - ", app_instance_->sensor_node_->nodeid());
+ }
+
+ /// Collect sensed data and pass it to the application to processing
+ if(app_instance_->disseminating_type_ == EVENT_DRIVEN)
+ {
+ app_instance_->recvSensedData(collect(),
getMaximumAllowedValue());
+ }
+ else
+ {
+ app_instance_->recvSensedData(collect());
+ }
+
+ // The activity above wastes sensor node energy! ENERGY WASTE HERE!
+ ((Battery*)app_instance_->sensor_node_->energy_model())->
+ DecrSensingEnergy(SENSING_TIME_,app_instance_->sensor_node_-
>sensingPower());
+ }
+
+ sensT = getExpireTime();
+ if(sensT != -1)
+ {
+ // Reschedule the event according to sensing activity type
+ sensTimer_->resched(sensT);
+ }
+}
+
+/// Inserts interference on sensed data. NOT IMPLEMENTED YET.
+/// It is recommended to specialize the method if it is going to be implemented.
+void DataGenerator::insertInterference()
+{
+ fprintf(stderr,"DataGenerator::insertInterference() not implemented yet\n");
+ abort();
+}
+
+/// Returns timer expire value, taking into account the sensing activity type.
+double DataGenerator::getExpireTime()
+{
+ switch(sensing_type_)
+ {
+ case PROGRAMED:
+ /// If it is a programed sensing activity, use the
sensing_interval_,
+ /// determined by the user, as the expire timer
+ return sensing_interval_;
+
+ case CONTINUOUS:
+ /// If it is a continuous sensing activity, get the expire timer
+ /// from a normal distribution (limits between 0 and 1)
+ return CONTINUOUS_TIME;
+
+ case ON_DEMAND:
+ return -1;
+
+ case EVENT_DRIVEN:
+ /// If the sensing activity was defined as EVENT_DRIVEN, it
should
+ /// be replaced by the CONTINUOUS one
+ return CONTINUOUS_TIME;
+
+ default: fprintf(stderr,"Unrecognized sensing type!\n");
+ abort();
+ }
+}
+
+/// Shedule the first sensing event if this activity type isn�t the continuous
+/// one.
+void DataGenerator::start()
+{
+ double sensT;
+ sensT = getExpireTime();
+
+ if(sensT != -1)
+ {
+ sensTimer_->resched(sensT);
+ }
+}
+
+/// Stop the object timer, dropping all the scheduled events.
+void DataGenerator::stop()
+{
+ if (sensTimer_->status() == TIMER_PENDING)
+ {
+ sensTimer_->cancel();
+ }
+}
+
+/// Insert a new SensorBaseApp to the DataGenerator SensorBaseApp list.
+void DataGenerator::insertNewApp(SensorBaseApp* app)
+{
+ app_.push_back(app);
+}
+
+/// Returns DataGenerator application data type
+AppDataType DataGenerator::type() const
+{
+ return type_;
+}
+
+/// NS-2 command function overloaded. Deals with TCL script commands to C++
+/// implementation.
+int DataGenerator::command(int argc, const char*const* argv)
+{
+ return TclObject::command(argc, argv);
+}
+
+/// Sets the sensing interval for programmed sensing.
+void DataGenerator::setSensingInterval(double si)
+{
+ sensing_interval_=si;
+}
+
+/// Returns sensing interval for programmed sensing.
+double DataGenerator::getSensingInterval()
+{
+ return sensing_interval_;
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/dataGenerator.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/dataGenerator.h
--- ns-allinone-2.29/ns-2.29/mannasim/dataGenerator.h 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/dataGenerator.h 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,136 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Base class for the generation of synthetic data. Specialized sensed data,
+/// such as temperture, magnetic field, video, among others, should extends
+/// this class and add the necessary modifications.
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#ifndef __data_generator__
+#define __data_generator__
+
+#include <list.h>
+#include <tools/rng.h>
+#include <common/ns-process.h>
+
+#include "battery.h"
+#include "sensorNode.h"
+#include "sensorBaseApp.h"
+#include "util/accounts.h"
+
+/// Time interval for continous sensing. Continuity is simulated by reschedule
+/// the timer with a very small time.
+#define CONTINUOUS_TIME 0.01
+
+class DataGenerator;
+class SensorBaseApp;
+
+/// Type definition for a SensorBaseApp STL list.
+typedef list<SensorBaseApp*> SensorAppList;
+
+/// Sensing timer used to collect data.
+class SensingTimer : public TimerHandler
+{
+ public:
+ SensingTimer(DataGenerator* gen) : TimerHandler(), gen_(gen) {}
+ inline virtual void expire(Event*);
+
+ protected:
+
+ /// DataGenerator used to "create" sensed data.
+ DataGenerator* gen_;
+};
+
+/// Timer that controls the time interval in which an event is valid.
+class EventTimer : public TimerHandler
+{
+ public:
+ EventTimer(DataGenerator* gen) : TimerHandler(), gen_(gen) {}
+ inline virtual void expire(Event*);
+
+ protected:
+
+ /// DataGenerator used to "create" sensed data.
+ DataGenerator* gen_;
+};
+
+/// Base class for sensed data creator objects. Specialized data should extends
+/// this class.
+class DataGenerator : public TclObject
+{
+ public:
+ /// Constructors
+ DataGenerator(){}
+ DataGenerator(AppDataType type);
+
+ /// NS-2 Function
+ virtual int command(int argc, const char*const* argv);
+
+ /// Control functions for simulation.
+ void start();
+ void stop();
+
+ void generateData();
+ void insertNewApp(SensorBaseApp* app);
+ virtual AppData* collect()
+ {
+ printf("DataGenerator::collect() - specialize this function\n");
+ }
+
+ /// Accessor methods
+ AppDataType type() const;
+ double getSensingInterval();
+ void setSensingInterval(double si);
+
+ friend class EventTimer;
+ friend class SensingTimer;
+
+ protected:
+
+ /// Indentify the generator according to the AppData
+ AppDataType type_;
+
+ /// List of applications associated with
+ SensorAppList app_;
+
+ /// Sensing timer.
+ SensingTimer* sensTimer_;
+
+ /// Sensing interval for programmed sensing. For continous sensing use
+ /// CONTINUOUS_TIME constante.
+ double sensing_interval_;
+
+ /// Define the way the sensor device is supposed to generate data.
+ int sensing_type_;
+
+ // Function that returns the timer expire value, taking into account
+ // the sensing activity type
+ double getExpireTime();
+
+ /// Insert erros into generated data. NOT IMPLEMENTED YET
+ virtual void insertInterference();
+
+ virtual AppData* getMaximumAllowedValue()
+ {
+ printf("DataGenerator::getMaximumAllowedValue() - specialize this
function\n");
+ }
+
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/accessPointDiffApp.cc ns-
allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/accessPointDiffApp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/accessPointDiffApp.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/accessPointDiffApp.cc
2006-05-26 11:08:30.000000000 -0300
@@ -0,0 +1,276 @@
+/* accessPointDiffApp.cc
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * Implementation of class AccessPointDiffApp.
+ *
+ * This class is an application for access point, using
+ * directed diffusion.
+ */
+#include "accessPointDiffApp.h"
+
+static class AccessPointDiffAppClass : public TclClass
+{
+ public:
+ AccessPointDiffAppClass() : TclClass("Application/AccessPointDiffApp")
{}
+
+ TclObject * create(int, const char * const *)
+ {
+ return new AccessPointDiffApp();
+ }
+} access_point_diff_app;
+
+
+// Constructor
+AccessPointDiffApp::AccessPointDiffApp()
+{
+// callback_ = new MessageReceiver(this);
+}
+
+// Tcl command interpreter
+int AccessPointDiffApp::command(int argc, const char * const * argv)
+{
+ if (argc > 2)
+ {
+ if (!strcmp(argv[1], "subscribe"))
+ return execTclSubscribe(argc - 2, argv + 2);
+ }
+
+ return DiffApp::command(argc, argv);
+}
+
+// Receive a packet from diffusion protocol
+void AccessPointDiffApp::recv(NRAttrVec * data, NR::handle my_handle)
+{
+ NRSimpleAttribute<int> * nrClass;
+
+ nrClass = NRClassAttr.find(data);
+
+ if (!nrClass)
+ {
+ fprintf(stderr, "Received a bad diffusion packet!");
+ abort();
+ }
+
+ switch (nrClass->getVal())
+ {
+ case NRAttribute::INTEREST_CLASS:
+ printf("Access point received an Interest message!\n");
+ break;
+
+ case NRAttribute::DISINTEREST_CLASS:
+ printf("Access point received a Disinterest message!\n");
+ break;
+
+ case NRAttribute::DATA_CLASS:
+ printf("*** Access point received a Data message!\n");
+ recvData(data, my_handle);
+ break;
+ }
+}
+
+// Receive a data message
+void AccessPointDiffApp::recvData(NRAttrVec * data, NR::handle my_handle)
+{
+ NRSimpleAttribute<AppDataType> * nrAppDataType;
+
+ nrAppDataType = AppDataTypeAttr.find(data);
+
+ if (!nrAppDataType)
+ {
+ fprintf(stderr, "Bad data message!");
+ abort();
+ }
+
+ printf("Data message contains application data type %d.\n",
+ nrAppDataType->getVal());
+
+ switch (nrAppDataType->getVal())
+ {
+ case SENSED_DATA:
+ recvSensedData(data, my_handle);
+ break;
+
+ default:
+ recvSpecificSensedData(nrAppDataType->getVal(), data, my_handle);
+ break;
+ }
+}
+
+void AccessPointDiffApp::recvSensedData(NRAttrVec * data, handle h)
+{
+ NRSimpleAttribute<AppData *> * nrSensedData;
+ SensedData * sensedData;
+
+ /* Look for sensed data */
+ nrSensedData = SensedDataAttr.find(data);
+
+ if (nrSensedData)
+ {
+ AppDataList list;
+
+ sensedData = (SensedData *) (nrSensedData->getVal());
+ list = sensedData->getData();
+
+ printf("<<Received %d elements>>", list.size());
+
+ for (AppDataList::iterator it = list.begin();
+ it != list.end();
+ it++)
+ {
+ switch ((*it)->type())
+ {
+ case TEMPERATURE_SENSED_DATA:
+ printf(" Temperature: %lf on %lf\n",
+ ((TemperatureAppData *) *it)->data(),
+ ((TemperatureAppData *) *it)->time());
+ break;
+
+ default:
+ printf(" Unknown data type %d!\n",
+ (*it)->type());
+ printf(" FORCANDO Temperature: %lf on %lf\n",
+ ((TemperatureAppData *) *it)->data(),
+ ((TemperatureAppData *) *it)->time());
+ break;
+ }
+ }
+ }
+ else
+ {
+ printf("AccessPointDiffApp::recvSensedData - There are no sensed
data!\n");
+ }
+}
+
+void AccessPointDiffApp::recvSpecificSensedData(AppDataType type, NRAttrVec *
data, handle h)
+{
+ NRSimpleAttribute<double> * nrValue;
+ NRSimpleAttribute<float> * nrTimeStamp;
+ NRSimpleAttribute<int> * nrNodeID;
+
+ nrValue = SensedValueAttr.find(data);
+ nrTimeStamp = TimeStampAttr.find(data);
+ nrNodeID = NodeIDAttr.find(data);
+
+ printf("@ Received from node %d with %lf delay ::: %lf %lf\n", nrNodeID-
>getVal(), Scheduler::instance().clock() - nrTimeStamp->getVal(), nrTimeStamp-
>getVal(), Scheduler::instance().clock());
+
+ switch (type)
+ {
+ case TEMPERATURE_SENSED_DATA:
+ printf("<< Temperature: %lf >>\n", nrValue->getVal());
+ break;
+
+ default:
+ printf("<< UNKNOWN TYPE: %lf >>\n", nrValue->getVal());
+ break;
+ }
+}
+
+// Subscribe to an interest
+handle AccessPointDiffApp::subscribe(AppDataType appDataType,
NRAttribute::operators op, double value)
+{
+ NRAttrVec attrs;
+ handle hnd;
+
+ printf("Access point subscribed to application data type %d.\n",
appDataType);
+
+ attrs.push_back(
+ NRClassAttr.make(NRAttribute::IS, NRAttribute::INTEREST_CLASS));
+
+ attrs.push_back(AppDataTypeAttr.make(NRAttribute::EQ, appDataType));
+
+ attrs.push_back(SensedValueAttr.make(op, value));
+
+ hnd = dr_->subscribe(&attrs, this);
+
+ ClearAttrs(&attrs);
+
+ return hnd;
+}
+
+/*****************************************************************/
+/* Tcl Commands */
+/*****************************************************************/
+
+int AccessPointDiffApp::execTclSubscribe(int argc, const char * const * argv)
+{
+ AppDataType type;
+ NRAttribute::operators op;
+ double value;
+
+ if (argc < 2 || argc > 3)
+ {
+ fprintf(stderr, "SINTAXE: subscribe <type> <operator> [value]\n\n"
+ "<operator> can be:\n"
+ " = Equal\n"
+ " > Greater than\n"
+ " < Lesser than\n"
+ " != Not equal\n"
+ " >= Greater or equal\n"
+ " <= Lesser or equal\n"
+ " * Any\n");
+ }
+
+ type = (AppDataType) atoi(argv[0]);
+
+ if (argv[1][1] == 0)
+ {
+ switch (argv[1][0])
+ {
+ case '=':
+ op = NRAttribute::EQ;
+ break;
+
+ case '>':
+ op = NRAttribute::GT;
+ break;
+
+ case '<':
+ op = NRAttribute::LT;
+ break;
+
+ case '*':
+ op = NRAttribute::EQ_ANY;
+ break;
+
+ default:
+ return TCL_ERROR;
+ }
+ }
+ else if (argv[1][2] == 0)
+ {
+ if (argv[1][1] == '=')
+ {
+ switch (argv[1][0])
+ {
+ case '!':
+ op = NRAttribute::NE;
+ break;
+
+ case '>':
+ op = NRAttribute::GE;
+ break;
+
+ case '<':
+ op = NRAttribute::LE;
+ break;
+
+ default:
+ return TCL_ERROR;
+ }
+ }
+ else
+ return TCL_ERROR;
+ }
+ else
+ return TCL_ERROR;
+
+ if (argc == 3)
+ value = atof(argv[2]);
+
+ else if (op != NRAttribute::EQ_ANY)
+ return TCL_ERROR;
+
+ subscribe(type, op, value);
+
+ return TCL_OK;
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/accessPointDiffApp.h ns-
allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/accessPointDiffApp.h
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/accessPointDiffApp.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/accessPointDiffApp.h
2006-05-26 11:08:30.000000000 -0300
@@ -0,0 +1,39 @@
+#ifndef _ACCESSPOINTDIFFAPP_H_
+#define _ACCESSPOINTDIFFAPP_H_
+
+#include "nrAttributes.h"
+#include "../sensorBaseApp.h"
+#include "../temperatureAppData.h"
+
+/* AccessPointDiffApp
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * This is a class for access point using directed diffusion.
+ */
+class AccessPointDiffApp : public DiffApp, NR::Callback
+{
+ public:
+ AccessPointDiffApp();
+
+ void run() {};
+ virtual int command(int argc, const char * const * argv);
+
+ // Receive message from directed diffusion
+ void recv(NRAttrVec * data, NR::handle my_handle);
+
+ protected:
+ // Subscribe for an interest
+ handle subscribe(AppDataType appDataType, NRAttribute::operators op,
double value);
+
+ // Receive sensed data
+ virtual void recvSensedData(NRAttrVec *, NR::handle);
+ virtual void recvSpecificSensedData(AppDataType type, NRAttrVec *,
NR::handle);
+
+ private:
+ virtual void recvData(NRAttrVec * data, NR::handle my_handle);
+
+ // Execute Tcl Management Commands
+ int execTclSubscribe(int argc, const char * const *);
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/attrsExporter.h ns-allinone-
2.29-mannasim/ns-2.29/mannasim/diffusion/attrsExporter.h
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/attrsExporter.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/attrsExporter.h 2006-
05-26 11:08:30.000000000 -0300
@@ -0,0 +1,33 @@
+#ifndef _ATTRSEXPORTER_H_
+#define _ATTRSEXPORTER_H_
+
+#include <nr.hh>
+#include "nrAttributes.h"
+
+/* AppDataAttrsExporter
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * This is a interface for any sensed data sent
+ * by CommonNodeDiffApp.
+ *
+ * First idea was to implements a interface called
+ * AttrsExporter and to multiple-inherits the sensed
+ * data (AppData and AttrsExporter).
+ *
+ * As multiple-inheritance may cause calling virtual
+ * function problems, AppDataAttrsExporter inherits
+ * from AppData.
+ */
+class AppDataAttrsExporter : public AppData
+{
+ public:
+ AppDataAttrsExporter(AppDataType type) : AppData(type)
+ { }
+
+ /* Set attributes on attributes vector */
+ virtual void setAttributes(NRAttrVec * attrs) = 0;
+};
+
+typedef AppDataAttrsExporter AttrsExporter;
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/commonNodeDiffApp.cc ns-
allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/commonNodeDiffApp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/commonNodeDiffApp.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/commonNodeDiffApp.cc
2006-05-26 11:08:30.000000000 -0300
@@ -0,0 +1,360 @@
+/* CommonNodeDiffApp.cc
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * Implementation of CommonNodeDiffApp.
+ * It is a class for common sensor node, using
+ * directed diffusion.
+ */
+
+#include "commonNodeDiffApp.h"
+#include <common/ns-process.h>
+#include <stdexcept>
+
+// Provides an instance of the CommonNodeDiffApp class in the simulation script
+static class CommonNodeDiffAppClass : public TclClass
+{
+ public:
+ CommonNodeDiffAppClass() :
TclClass("Application/SensorBaseApp/CommonNodeDiffApp") {}
+
+ TclObject * create(int, const char * const *)
+ {
+ return new CommonNodeDiffApp::TclObjectAdaptor();
+ }
+} class_common_node_diff_app;
+
+/**************************************************************************/
+
+// Constructor
+CommonNodeDiffApp::CommonNodeDiffApp()
+{
+}
+
+// Destructor
+CommonNodeDiffApp::~CommonNodeDiffApp()
+{
+ PublishedDataList::iterator it;
+
+ for (it = publishedDataList_.begin(); it != publishedDataList_.end(); it++)
+ dr_->unpublish((*it)->hnd);
+}
+
+// Overrides CommonNodeApp's function
+void CommonNodeDiffApp::insertNewGenerator(DataGenerator * gen)
+{
+ CommonNodeApp::insertNewGenerator(gen);
+
+ publishData(gen->type());
+}
+
+/* Overrides CommonNodeApp's function
+ *
+ * This is called to disseminateData from sensor node.
+ */
+void CommonNodeDiffApp::disseminateData(SensedData * data)
+{
+ if (data)
+ {
+ NRAttrVec attrs;
+ PublishedData * pubData;
+ AppDataList list;
+
+ list = data->getData();
+
+ printf("Common Node %d"
+ " - Disseminating %d datas\n",
+ sensor_node_->nodeid(),
+ list.size());
+
+ // Send each sensed data using directed diffusion
+ for (AppDataList::iterator it = list.begin();
+ it != list.end();
+ it++)
+ {
+ pubData = publishData((*it)->type(), (AttrsExporter *) (*it));
+
+ attrs.push_back(
+ TimeStampAttr.make(NRAttribute::IS,
Scheduler::instance().clock()));
+
+/* if (interested(&attrs))
+ {
+ printf("Common Node %d"
+ " - Disseminating %d datas\n",
+ sensor_node_->nodeid(),
+ list.size());
+ }
+
+*/ if (dr_->send(pubData->hnd, &attrs) == FAIL)
+ {
+ fprintf(stderr, "bug! CommonNodeDiffApp::publishData\n");
+ //abort();
+ exit(1);
+ }
+
+ ClearAttrs(&attrs);
+ }
+ }
+}
+
+/* Find a handle to a published data generetador */
+CommonNodeDiffApp::PublishedData *
CommonNodeDiffApp::findPublishedData(AppDataType appDataType)
+{
+ PublishedDataList::iterator it;
+
+ it = publishedDataList_.begin();
+
+ while (it != publishedDataList_.end())
+ {
+ if ((*it)->appDataType == appDataType)
+ return *it;
+
+ it++;
+ }
+
+ fprintf(stderr,
+ "Unable to find AppDataType for specific sensed data!\n");
+
+ //throw runtime_error("AppDataType not found for specific sensed data!");
+ //abort();
+ exit(1);
+}
+
+/* Publish data.
+ *
+ * This is called for the first publication, which occurs
+ * on data generator attachment.
+ */
+CommonNodeDiffApp::PublishedData * CommonNodeDiffApp::publishData(
+ AppDataType appDataType,
+ NR::Callback * receiver)
+{
+ NRAttrVec attrs;
+ PublishedData * my_publishedData;
+
+ // Set attributes and publish it for data generator
+ attrs.push_back(
+ NRClassAttr.make(NRAttribute::IS, NRAttribute::DATA_CLASS));
+
+ attrs.push_back(
+ AppDataTypeAttr.make(NRAttribute::IS, appDataType));
+
+ attrs.push_back(
+ NodeIDAttr.make(NRAttribute::IS, this->sensor_node_->nodeid()));
+
+ // Publish data
+ my_publishedData = new PublishedData;
+ my_publishedData->hnd = dr_->publish(&attrs);
+ my_publishedData->appDataType = appDataType;
+ my_publishedData->subscriptions = 0;
+
+ ClearAttrs(&attrs);
+
+ publishedDataList_.push_back(my_publishedData);
+
+ // Create subscription handler
+ if (!receiver)
+ my_publishedData->receiver = new InterestReceiver(
+ this, my_publishedData);
+ else
+ my_publishedData->receiver = receiver;
+
+ subscribePublishedData(my_publishedData);
+
+ return my_publishedData;
+}
+
+/* Publish sensed data.
+ *
+ * This function searches for previous publishe data
+ * with the same AppDataType and re-publish it,
+ * containing a new sensed data value.
+ *
+ * This is usefull to access point subscribe for
+ * conditional sensed data (i.e. temperature > 30).
+ */
+CommonNodeDiffApp::PublishedData * CommonNodeDiffApp::publishData(AppDataType
appDataType, AttrsExporter * attrsExporter)
+{
+ NRAttrVec attrs;
+ PublishedData * my_publishedData;
+
+ // Set attributes and publish it for data generator
+ attrs.push_back(
+ NRClassAttr.make(NRAttribute::IS, NRAttribute::DATA_CLASS));
+
+ attrs.push_back(
+ AppDataTypeAttr.make(NRAttribute::IS, appDataType));
+
+ attrs.push_back(
+ NodeIDAttr.make(NRAttribute::IS, this->sensor_node_->nodeid()));
+
+ attrsExporter->setAttributes(&attrs);
+
+ // Unpublish previous data
+ my_publishedData = findPublishedData(appDataType);
+
+ dr_->unpublish(my_publishedData->hnd);
+
+ my_publishedData->hnd = dr_->publish(&attrs);
+ my_publishedData->subscriptions = 0;
+
+ ClearAttrs(&attrs);
+
+ return my_publishedData;
+}
+
+/* subscribePublishedData(pubData)
+ * - pubData: Subscribe to receive subscriptions and unsubscriptions
+ */
+void CommonNodeDiffApp::subscribePublishedData(PublishedData * pubData)
+{
+ NRAttrVec attrs;
+
+ attrs.push_back(
+ NRClassAttr.make(NRAttribute::NE, NRAttribute::DATA_CLASS));
+
+ attrs.push_back(
+ NRScopeAttr.make(NRAttribute::IS, NRAttribute::NODE_LOCAL_SCOPE));
+
+// attrs.push_back(
+// AppDataTypeAttr.make(NRAttribute::EQ, pubData->appDataType));
+
+// attrs.push_back(
+// NodeIDAttr.make(NRAttribute::EQ, this->sensor_node_->nodeid()));
+
+ dr_->subscribe(&attrs, pubData->receiver);
+
+ ClearAttrs(&attrs);
+}
+
+void CommonNodeDiffApp::run()
+{
+ // Insert generic sensed data
+ publishData(SENSED_DATA);
+}
+
+void CommonNodeDiffApp::start()
+{
+ DiffApp::start();
+ CommonNodeApp::start();
+
+ run();
+}
+
+/* * * Event handle * * */
+
+// Occurs when someone subscribes
+void CommonNodeDiffApp::onSubscription(PublishedData * pubData, NRAttrVec * data)
+{
+ NRSimpleAttribute<AppDataType> * appDataType;
+
+ appDataType = AppDataTypeAttr.find(data);
+
+ if (!appDataType)
+ printf("Common Node %d received an Interest message!\n",
+ sensor_node_->nodeid());
+
+ else
+ printf("Common Node %d received an Interest message for app data %d\n",
+ sensor_node_->nodeid(), appDataType->getVal());
+
+ subscriptions_.push_back(CopyAttrs(data));
+}
+
+void CommonNodeDiffApp::onUnsubscription(PublishedData * pubData, NRAttrVec *
data)
+{
+ NRAVList::iterator it;
+
+ printf("Common Node %d received an Disinterest message!\n",
+ sensor_node_->nodeid());
+
+ for (it = subscriptions_.begin(); it != subscriptions_.end(); it++)
+ if (PerfectMatch(data, *it))
+ {
+ NRAttrVec * tmp = *it;
+
+ subscriptions_.remove(*it);
+
+ delete tmp;
+
+ return;
+ }
+}
+
+/*************************************************************************
+ * Interest receiver class *
+ * *
+ * This class is used to handle Interest messages. *
+ *************************************************************************/
+
+CommonNodeDiffApp::InterestReceiver::InterestReceiver(CommonNodeDiffApp * node,
PublishedData * pubData)
+{
+ this->node_ = node;
+ this->pubData_ = pubData;
+}
+
+void CommonNodeDiffApp::InterestReceiver::recv(NRAttrVec * data, NR::handle hnd)
+{
+ NRSimpleAttribute<int> * nrClass;
+ NRSimpleAttribute<AppDataType> * nrAppDataType;
+
+ // Get message's class and validate it
+ nrClass = NRClassAttr.find(data);
+
+ if (!nrClass)
+ {
+ fprintf(stderr, "Received a bad diffusion packet!\n");
+ //abort();
+ exit(1);
+ }
+
+// printf("AIEEEEEEEE!\n");
+
+ nrAppDataType = AppDataTypeAttr.find(data);
+
+// assert(nrAppDataType && nrAppDataType->getVal() == pubData_->appDataType);
+
+/* if (!nrAppDataType)
+ {
+ fprintf(stderr, "Not a valid packet for InterestReceiver!\n");
+ abort();
+ }
+ else if (nrAppDataType->getVal() != pubData_->appDataType)
+ {
+ fprintf(stderr,
+ "Received a not expected application data type (%d != %d)"
+ " message on SensedDataInterestReceiver!\n",
+ nrAppDataType->getVal(),
+ pubData_->appDataType);
+ abort();
+ }
+*/
+ switch (nrClass->getVal())
+ {
+ case NRAttribute::INTEREST_CLASS:
+ pubData_->subscriptions++;
+ node_->onSubscription(pubData_, data);
+ break;
+
+ case NRAttribute::DISINTEREST_CLASS:
+ pubData_->subscriptions--;
+ node_->onUnsubscription(pubData_, data);
+ break;
+ }
+}
+
+bool CommonNodeDiffApp::interested(NRAttrVec * data)
+{
+ NRAVList::iterator it;
+
+ for (it = subscriptions_.begin(); it != subscriptions_.end(); it++)
+ {
+ NRAttrVec * attrs = *it;
+
+ PrintAttrs(attrs);
+ PrintAttrs(data);
+
+ if (OneWayMatch(attrs, data))
+ return true;
+ }
+
+ return false;
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/commonNodeDiffApp.h ns-
allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/commonNodeDiffApp.h
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/commonNodeDiffApp.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/commonNodeDiffApp.h 2006-
05-26 11:08:30.000000000 -0300
@@ -0,0 +1,183 @@
+/* Implemented by Julio Cesar e Melo <cmelo_bhz@hotmail.com> */
+
+#ifndef _COMMONNODEDIFFAPP_H_
+#define _COMMONNODEDIFFAPP_H_
+
+#include <list.h>
+#include <stdlib.h>
+
+#include "nrAttributes.h"
+#include "attrsExporter.h"
+#include "../commonNodeApp.h"
+
+using namespace std;
+
+/* CommonNodeDiffApp
+ * -- J�lio C�sar e Melo
+ *
+ * This is a class for a common sensor node.
+ * It inherits from CommonNodeApp (from MannaSIM)
+ * and DiffApp. As both are applications and inherit
+ * from TclObject, there are some ambiguous virtual
+ * functions. To solve this problem, it was implemented
+ * an adaptor for calling the specific functions of
+ * each ancestor (see CommonNodeApp::TclObjectAdaptor).
+ */
+class CommonNodeDiffApp : public DiffApp, CommonNodeApp
+{
+ private:
+ class SensedDataInterestReceiver;
+
+ public:
+ /* Type definitions */
+ struct PublishedData
+ {
+ handle hnd;
+ AppDataType appDataType;
+ int subscriptions;
+ NR::Callback * receiver;
+ };
+
+ typedef list<PublishedData *> PublishedDataList;
+ typedef list<NRAttrVec *> NRAVList;
+
+ // Subscribe for receiving interest message
+ void subscribePublishedData(PublishedData *);
+
+ protected:
+ // List of published datas
+ PublishedDataList publishedDataList_;
+
+ // List of attribute list
+ NRAVList subscriptions_;
+
+ // Publish an application data type
+ PublishedData * publishData(AppDataType appDataType, NR::Callback *
receiver = NULL);
+ PublishedData * publishData(AppDataType appDataType, AttrsExporter *
attrsExporter);
+
+ // Find a published data
+ PublishedData * findPublishedData(AppDataType appDataType);
+
+ // Occurs when received a subscription
+ virtual void onSubscription(PublishedData *, NRAttrVec *);
+
+ // Occurs when received a unsubscription
+ virtual void onUnsubscription(PublishedData *, NRAttrVec *);
+
+ // Check if there is someone interested
+ bool interested(NRAttrVec *);
+
+ public:
+ // Public constructors and destructors
+ CommonNodeDiffApp();
+ ~CommonNodeDiffApp();
+
+ virtual void start();
+ virtual void run();
+
+ // Disseminate processed data from sensor node
+ virtual void disseminateData(SensedData * data_);
+
+ // Attach a new data generator
+ virtual void insertNewGenerator(DataGenerator * gen);
+
+ /*****************************/
+ /***** Ambiguous methods *****/
+ /*****************************/
+
+ virtual int command(int argc, const char * const * argv)
+ {
+ int result;
+
+ result = CommonNodeApp::command(argc, argv);
+
+ if (result == TCL_OK)
+ return result;
+
+ result = DiffApp::command(argc, argv);
+
+ return result;
+ }
+
+ virtual void trace(TracedVar *tv)
+ {
+ CommonNodeApp::trace(tv);
+ }
+
+ virtual int init(int argc, const char * const * argv)
+ {
+ CommonNodeApp::init(argc, argv);
+ }
+
+ virtual int delay_bind_dispatch(const char * varName, const char *
localName, TclObject * tracer)
+ {
+ CommonNodeApp::delay_bind_dispatch(varName, localName, tracer);
+ }
+
+ virtual void delay_bind_init_all()
+ {
+ CommonNodeApp::delay_bind_init_all();
+ }
+
+ /* Adaptor - Necessary to remove ambiguous from base
+ * TclObject class
+ */
+ class TclObjectAdaptor : public TclObject
+ {
+ private:
+ CommonNodeDiffApp * obj_;
+
+ public:
+ TclObjectAdaptor()
+ {
+ obj_ = new CommonNodeDiffApp();
+ }
+
+ ~TclObjectAdaptor()
+ {
+ delete obj_;
+ }
+
+ virtual int command(int argc, const char * const * argv)
+ {
+ obj_->command(argc, argv);
+ }
+
+ virtual void trace(TracedVar *tv)
+ {
+ obj_->trace(tv);
+ }
+
+ virtual int init(int argc, const char * const * argv)
+ {
+ obj_->init(argc, argv);
+ }
+
+ virtual int delay_bind_dispatch(const char * varName, const char
* localName, TclObject * tracer)
+ {
+ obj_->delay_bind_dispatch(varName, localName, tracer);
+ }
+
+ virtual void delay_bind_init_all()
+ {
+ obj_->delay_bind_init_all();
+ }
+ };
+
+ private:
+ /* Interest receiver */
+ class InterestReceiver : public NR::Callback
+ {
+ private:
+ PublishedData * pubData_;
+ CommonNodeDiffApp * node_;
+
+ public:
+ InterestReceiver(
+ CommonNodeDiffApp *, PublishedData *);
+
+ void recv(NRAttrVec *, NR::handle);
+ };
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/mannanmp.cc ns-allinone-
2.29-mannasim/ns-2.29/mannasim/diffusion/mannanmp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/mannanmp.cc1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/mannanmp.cc 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,186 @@
+/* MannaNMP.cc
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * Implementation of MannaNMPAgent, a class for
+ * MannaNMP protocol using directed diffusion.
+ */
+#include "../management/managementData.h"
+#include "mannanmp.h"
+#include <assert.h>
+#include <dr.hh>
+
+using namespace mib;
+
+/* Constructs the agent */
+MannaNMPAgent::MannaNMPAgent(MIBTable * mib, NR * dr)
+{
+ assert(mib && dr);
+
+ this->mib_ = mib;
+ this->dr_ = dr;
+}
+
+/* Receive data from directed diffusion */
+void MannaNMPAgent::recv(NRAttrVec * data, handle h)
+{
+ NRSimpleAttribute<int> * nrClass;
+
+ // Get message's class and validate it
+ nrClass = NRClassAttr.find(data);
+
+ if (!nrClass)
+ {
+ fprintf(stderr, "Received a bad diffusion packet!\n");
+ abort();
+ }
+
+ switch (nrClass->getVal())
+ {
+ case NRAttribute::INTEREST_CLASS:
+ onSubscription(data, h);
+ break;
+
+ case NRAttribute::DISINTEREST_CLASS:
+ // Nothing here until this moment
+ break;
+ }
+}
+
+/* Occurs when received a subscription */
+void MannaNMPAgent::onSubscription(NRAttrVec * data, handle h)
+{
+ NRSimpleAttribute<ManagementData *> * messageAttr;
+ ManagementData * message;
+
+ // Get management data
+ messageAttr = ManagementRequestAttr.find(data);
+
+ assert(messageAttr != NULL);
+
+ if (messageAttr == NULL)
+ {
+ fprintf(stderr, "Como assim 1?\n");
+ abort();
+ }
+
+ message = messageAttr->getVal();
+
+ assert(message != NULL);
+
+ if (message == NULL)
+ {
+ fprintf(stderr, "Como assim 2?\n");
+ abort();
+ }
+
+ switch (message->getOperation())
+ {
+ case GET:
+ printf("MANNANMP: GET\n");
+ onGetMessage((GetData *) message, h);
+ break;
+
+ case SET:
+ printf("MANNANMP: SET\n");
+ onSetMessage((SetData *) message, h);
+ break;
+
+ case RESPONSE:
+ case TRAP:
+ fprintf(stderr,
+ "Agent shouldn't receive a RESPONSE or TRAP"
+ " message!\n");
+ abort();
+
+ default:
+ fprintf(stderr,
+ "Unknown management operation %d!\n",
+ message->getOperation());
+ abort();
+ }
+}
+
+/* onGetMessage(message, h)
+ *
+ * Occurs when received a get message.
+ */
+void MannaNMPAgent::onGetMessage(GetData * message, handle h)
+{
+ NRAttrVec attrs; // Attributes of diffusion message
+ KeyValueData data(RESPONSE); // Response data
+ GetData::MIBKeyList * requestList;
+ ManagementData * dataCopy;
+
+ requestList = message->getRequestList();
+
+ printf("Sending response for key(s)");
+
+ for (GetData::MIBKeyList::iterator it = requestList->begin();
+ it != requestList->end();
+ it++)
+ {
+ mibKey key = *it;
+ MIBEntryBase * entry = mib_->getEntry(key)->copy();
+
+ data.addEntry(entry);
+
+ // DEBUG!!!
+ printf(" %d = ", key);
+
+ switch (entry->getType())
+ {
+ case INT32:
+ printf("%d (INT32)", ((MIBEntry<int> *) entry)-
>getValue());
+ break;
+
+ case LONG:
+ printf("%ld (LONG)", ((MIBEntry<long> *) entry)-
>getValue());
+ break;
+
+ case FLOAT:
+ printf("%f (FLOAT)", ((MIBEntry<float> *) entry)-
>getValue());
+ break;
+
+ case DOUBLE:
+ printf("%lf (DOUBLE)", ((MIBEntry<double> *) entry)-
>getValue());
+ break;
+ }
+ }
+
+ printf(".\n");
+
+ dataCopy = (ManagementData *) data.copy();
+
+ attrs.push_back(
+ ManagementResponseAttr.make(
+ NRAttribute::IS, dataCopy));
+
+ dr_->send(hnd_, &attrs);
+
+ ClearAttrs(&attrs);
+}
+
+/* Occurs when received a set message */
+void MannaNMPAgent::onSetMessage(SetData * message, handle h)
+{
+ SetData::MIBEntryList * list;
+ char buf[32];
+
+ list = message->getEntries();
+
+ for (SetData::MIBEntryList::iterator it = list->begin(); it != list->end();
it++)
+ {
+ mibKey key;
+ MIBEntryBase * entry;
+
+ key = (*it)->getKey();
+ entry = mib_->getEntry(key);
+
+ (*it)->toString(buf);
+
+ printf(" Setting %d = %s\n", key, buf);
+
+ entry->setValue(buf);
+ }
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/mannanmp.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/diffusion/mannanmp.h
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/mannanmp.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/mannanmp.h 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,32 @@
+/* mannanmp.h
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * MannaNMPAgent is a class for answering
+ * MannaNMP messages using directed diffusion.
+ */
+#ifndef _MANNANMP_H_
+#define _MANNANMP_H_
+
+#include "nrAttributes.h"
+#include "../management/mibTable.h"
+#include <nr.hh>
+
+class MannaNMPAgent : public NR::Callback
+{
+ protected:
+ MIBTable * mib_;
+ NR * dr_;
+ handle hnd_;
+
+ public:
+ MannaNMPAgent(MIBTable * mib, NR * dr);
+ void recv(NRAttrVec * data, handle h);
+ void setHandle(handle h) { hnd_ = h; }
+
+ private:
+ void onSubscription(NRAttrVec * data, handle h);
+ void onGetMessage(GetData * message, handle h);
+ void onSetMessage(SetData * message, handle h);
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/nrAttributes.cc ns-allinone-
2.29-mannasim/ns-2.29/mannasim/diffusion/nrAttributes.cc
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/nrAttributes.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/nrAttributes.cc 2006-
05-26 11:08:30.000000000 -0300
@@ -0,0 +1,55 @@
+/* nrAttributes.cc
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * This file contains implementation for Directed Diffusion
+ * attributes for using by MannaSIM.
+ */
+#define _NRATTRIBUTES_CC_
+
+#include "nrAttributes.h"
+#include <stdlib.h>
+
+NRSimpleAttribute<AppData *>::NRSimpleAttribute(int key, int type, int op, AppData
* val, int size)
+ : NRAttribute(key, BLOB_TYPE, op, 0)
+{
+ assert(type == BLOB_TYPE);
+
+ val_ = NULL;
+ setVal(val, val->size());
+}
+
+NRSimpleAttribute<AppData *>::~NRSimpleAttribute()
+{
+ delete [] (char *) val_;
+}
+
+void NRSimpleAttribute<AppData *>::setVal(AppData * value, int len)
+{
+ delete [] (char *) val_;
+ len_ = len;
+ val_ = (void *) new char[len_];
+ memcpy(val_, value, len_);
+}
+
+AppData * NRSimpleAttribute<AppData *>::getVal()
+{
+ return (AppData *) val_;
+}
+
+/***************************************************************************/
+/* Atributes */
+
+NRSimpleAttributeFactory<AppDataType> AppDataTypeAttr(
+ APPLICATION_DATA_TYPE, NRAttribute::INT32_TYPE);
+
+NRSimpleAttributeFactory<int> NodeIDAttr(
+ NODE_ID, NRAttribute::INT32_TYPE);
+
+NRSimpleAttributeFactory<AppData *> SensedDataAttr(
+ SENSED_DATA_BLOB, NRAttribute::BLOB_TYPE);
+
+NRSimpleAttributeFactory<double> SensedValueAttr(SENSED_VALUE,
NRAttribute::FLOAT64_TYPE);
+
+NRSimpleAttributeFactory<float> TimeStampAttr(TIME_STAMP,
NRAttribute::FLOAT32_TYPE);
+
+#undef _NRATTRIBUTES_CC_
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/diffusion/nrAttributes.h ns-allinone-
2.29-mannasim/ns-2.29/mannasim/diffusion/nrAttributes.h
--- ns-allinone-2.29/ns-2.29/mannasim/diffusion/nrAttributes.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/diffusion/nrAttributes.h 2006-
05-26 11:13:56.000000000 -0300
@@ -0,0 +1,40 @@
+/* nrAttributes.h
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * This file contains definition for Directed Diffusion
+ * attributes for using by MannaSIM.
+ */
+#ifndef _NRATTRIBUTES_H_
+#define _NRATTRIBUTES_H_
+
+#include "diffapp.hh"
+#include "config.h"
+
+template <> class NRSimpleAttribute<AppData *> : public NRAttribute
+{
+ public:
+ NRSimpleAttribute(int key, int type, int op, AppData * val, int size =
0);
+ ~NRSimpleAttribute();
+
+ void setVal(AppData * value, int len);
+ AppData * getVal();
+};
+
+enum keys
+{
+ APPLICATION_DATA_TYPE = 3000,
+ NODE_ID,
+ SENSED_DATA_BLOB,
+ SENSED_VALUE,
+ TIME_STAMP
+};
+
+#ifndef _NRATTRIBUTES_CC_
+extern NRSimpleAttributeFactory<AppDataType> AppDataTypeAttr;
+extern NRSimpleAttributeFactory<int> NodeIDAttr;
+extern NRSimpleAttributeFactory<AppData *> SensedDataAttr;
+extern NRSimpleAttributeFactory<double> SensedValueAttr;
+extern NRSimpleAttributeFactory<float> TimeStampAttr;
+#endif
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/app/accessPointLeachApp.cc ns-
allinone-2.29-mannasim/ns-2.29/mannasim/leach/app/accessPointLeachApp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/leach/app/accessPointLeachApp.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/app/accessPointLeachApp.cc
2006-05-26 11:08:30.000000000 -0300
@@ -0,0 +1,42 @@
+#include "accessPointLeachApp.h"
+#include <mannasim/leach/leachAgent.h>
+
+static class AccessPointLeachAppClass : public TclClass
+{
+ public:
+ AccessPointLeachAppClass() :
TclClass("Application/AccessPointApp/AccessPointLeachApp") {}
+
+ TclObject* create(int, const char*const*)
+ {
+ return (new AccessPointLeachApp());
+ }
+} class_accesspointleachapp;
+
+
+
+void AccessPointLeachApp::start()
+{
+ if (agent_ == NULL)
+ {
+ char agentName[32];
+
+ printf("Warning! AccessPointLeachApp::start() => Agent is null!
Creating a LeachAgent!\n");
+
+ sprintf(agentName, "__apagent"); // N�o est� legal
+
+ agent_ = new LeachAgent();
+ agent_->name(agentName);
+
+ Tcl::instance().enter(agent_);
+
+ printf("%s attach %s", name(), agent_->name());
+ Tcl::instance().evalf("%s attach %s", name(), agent_->name());
+ }
+
+ AccessPointApp::start();
+}
+
+void AccessPointLeachApp::forward_data(int size, AppData * data)
+{
+ // Por enquanto nada... ver compatibilidade depois ***
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/app/accessPointLeachApp.h ns-
allinone-2.29-mannasim/ns-2.29/mannasim/leach/app/accessPointLeachApp.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/app/accessPointLeachApp.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/app/accessPointLeachApp.h
2006-05-26 11:08:30.000000000 -0300
@@ -0,0 +1,26 @@
+#ifndef _ACCESSPOINTLEACHAPP_H_
+#define _ACCESSPOINTLEACHAPP_H_
+
+#include "../../accessPointApp.h"
+
+/* AccessPointLeachApp
+ * -- J�lio C�sar e Melo <julio.melo@gmail.com>
+ *
+ * This is a class for access point using leach.
+ */
+class AccessPointLeachApp : public AccessPointApp {
+
+ public:
+ // Method called from the transport protocol for the application to
+ // receive a message. Method from Process (ns-process.cc) overcharged
+// virtual void process_data(int size, AppData* data);
+
+// int command(int argc, const char*const* argv);
+// virtual void stop();
+ virtual void start();
+
+ virtual void forward_data(int size, AppData* data);
+};
+
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/app/leachApp.cc ns-allinone-
2.29-mannasim/ns-2.29/mannasim/leach/app/leachApp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/leach/app/leachApp.cc1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/app/leachApp.cc 2006-05-26
11:08:30.000000000 -0300
@@ -0,0 +1,813 @@
+#include "leachApp.h"
+#include <random.h>
+#include <mannasim/battery.h>
+#include <mannasim/leach/rca/rcagent.h>
+
+/** TCL **************************************/
+
+static class LeachAppClass : public TclClass
+{
+ public:
+ LeachAppClass() :
TclClass("Application/SensorBaseApp/CommonNodeApp/LeachApp") {}
+
+ // Create a TCL Object (parameters starts in 4)
+ TclObject * create(int argc, const char * const * argv)
+ {
+ if (argc != 7)
+ {
+ fprintf(stderr,
+ "Incorrect sintax:\n"
+ " new LeachApp <nNodes> <nClusters> <maxDist>");
+ }
+
+ return new LeachApp(
+ atoi(argv[4]),
+ atoi(argv[5]),
+ atof(argv[6]));
+ }
+} leach_app_object;
+
+
+
+
+/*********************************************/
+
+LeachApp::LeachApp(int nNodes, int nClusters, double maxDist) : CommonNodeApp() //
: SensorBaseApp()
+{
+ mac_ = NULL;
+ agent_ = NULL;
+
+ isCH_ = 0;
+ hasBeenCH_ = false;
+ nextChangeTime_ = 0;
+ round_ = 0;
+ dist_ = 0;
+ code_ = 0;
+ now_ = 0;
+ endFrmTime_ = 0;
+ beginIdle_ = 0;
+ beginSleep_ = 0;
+
+ /* Although constructing here, can't determine
+ * sensedData's nodeid, because while constructing
+ * the sensed_node_ is not yet defined.
+ */
+ sensedData_ = new SensedData();
+
+ eventHandler_ = new LeachEventHandler(this);
+
+ config_.numberNodes_ = nNodes;
+ config_.desiredClusters_ = nClusters;
+ config_.maxDist_ = bsDist_ = maxDist;
+
+ initializeConfig();
+
+ frameTime_ = config_.ssSlotTime_ * config_.numberNodes_;
+
+ lstRndDelay_ = 0;
+
+ listenADV_ = true;
+ listenJOINREQ_ = false;
+}
+
+/* Initialize LEACH's configuration. */
+void LeachApp::initializeConfig()
+{
+ #define HDR_SIZE 25 // Originalmente era 25
+
+ config_.changeTimeIncrement_ = 10 * INITIAL_ENERGY;
+ config_.rndAdvDelay_ = TxTime(HDR_SIZE + 4);
+ config_.ra_advTotal_ = 1 + config_.rndAdvDelay_ *
(config_.desiredClusters_ * 4 + 1);
+ config_.ra_join_ = 0.01 * config_.numberNodes_;
+ config_.ra_delay_ = TxTime(HDR_SIZE + 4);
+ config_.spreading_ = config_.desiredClusters_ + 1;
+ config_.sigSize_ = 500;
+ config_.ssSlotTime_ = TxTime(config_.sigSize_ + HDR_SIZE) *
config_.spreading_;
+ config_.bsCode_ = 0;
+
+ #undef HDR_SIZE
+}
+
+LeachApp::~LeachApp()
+{
+ if (sensedData_ != NULL)
+ delete sensedData_;
+
+ delete eventHandler_;
+}
+
+void LeachApp::start()
+{
+ if (agent_ == NULL)
+ {
+ char agentName[32];
+
+ printf("Warning! LeachApp::start() => agent_ of %d is null! Creating a
RCAgent!\n", sensor_node_->nodeid());
+
+ sprintf(agentName, "__rcagent%d", sensor_node_->nodeid());
+
+ agent_ = new RCAgent();
+ agent_->name(agentName);
+
+ Tcl::instance().enter(agent_);
+
+ printf("%s attach %s", name(), agent_->name());
+ Tcl::instance().evalf("%s attach %s", name(), agent_->name());
+ }
+
+ sensedData_->node_id() == sensor_node_->nodeid();
+
+ mac_ = (MacSensor *) ((RCAgent *) agent_)->getMAC();
+ mac_->node_num() = sensor_node_->nodeid();
+ decideClusterHead();
+
+ CommonNodeApp::start();
+}
+
+void LeachApp::goToSleep()
+{
+ ((Battery *) sensor_node_->energy_model())->sleep();
+}
+
+void LeachApp::wakeUp()
+{
+ ((Battery *) sensor_node_->energy_model())->wakeUp();
+}
+
+void LeachApp::setCode(int code)
+{
+ printf("%d is setting code to %d\n", sensor_node_->nodeid(), code);
+ code_ = code;
+ mac_->code() = code;
+}
+
+void LeachApp::setClusterHead()
+{
+ isCH_ = true;
+ hasBeenCH_ = true;
+ /* "... when a node decides to become a cluster-head,
+ * it chooses randomly from a list of spreading codes."
+ */
+}
+
+void LeachApp::unsetClusterHead()
+{
+ isCH_ = false;
+}
+
+/*** Distributed cluster set-up functions *****************/
+
+void LeachApp::decideClusterHead()
+{
+ int totRounds;
+
+ setCode(0);
+ wakeUp();
+
+ CHHeard_ = false;
+
+ // CheckIsAlive???
+
+ totRounds = config_.numberNodes_ / config_.desiredClusters_;
+
+ if (round_ >= totRounds)
+ round_ = 0;
+
+ if (round_ == 0)
+ setHasNotBeenClusterHead();
+
+ if (Random::uniform(0, 1) < calculatePi())
+ {
+ printf("Node %d is a cluster head at time %lf\n", sensor_node_-
>nodeid(), Scheduler::instance().clock());
+
+ setClusterHead();
+
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::advertiseClusterHead),
+ config_.rndAdvDelay_);
+ }
+ else
+ {
+ unsetClusterHead();
+ listenADV_ = true;
+ clearClusterChoices();
+ }
+
+ round_++;
+ nextChangeTime_ = Scheduler::instance().clock() +
config_.changeTimeIncrement_;
+
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::decideClusterHead),
+// nextChangeTime_);
+ config_.changeTimeIncrement_);
+
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::findBestCluster),
+ config_.ra_advTotal_);
+}
+
+double LeachApp::calculatePi()
+{
+ /*
+ * Pi(t) = k / (N - k mod(r,N/k))
+ * where k is the expected number of clusters per round
+ * N is the total number of sensor nodes in the network
+ * and r is the number of rounds that have already passed.
+ */
+ register int n = config_.numberNodes_;
+ register int k = config_.desiredClusters_;
+ double thresh;
+
+ if (hasBeenClusterHead())
+ thresh = 0;
+
+ else if (n - k * round_ < 1)
+ thresh = 1;
+
+ else
+ thresh = (double) k / (n - k * round_);
+
+ return thresh;
+}
+
+void LeachApp::advertiseClusterHead()
+{
+ int clusterCode;
+ int numCodesAvail;
+
+ numCodesAvail = 2 * config_.spreading_ - 1;
+
+
+ currentCH_ = sensor_node_->nodeid();
+ currentCHMAC_ = MAC_BROADCAST;
+
+ clusterCode = (mac_->myADVnum() % numCodesAvail) + 1;
+
+ setCode(clusterCode);
+
+ wakeUp();
+
+ send(
+ MAC_BROADCAST,
+ LINK_BROADCAST,
+ LEACH_ADV_CH,
+// (char *) (&currentCH_),
+ (char *) (&code_),
+// (char *) (&mac_->myADVnum()),
+ sizeof(currentCH_),
+ BYTES_ID,
+ config_.maxDist_,
+ 0);
+
+ listenJOINREQ_ = true;
+
+ clusterNodes_.clear();
+}
+
+void LeachApp::findBestCluster()
+{
+// int numCodesAvail, clusterCode;
+
+// numCodesAvail = 2 * config_.spreading_ - 1;
+
+ if (isClusterHead())
+ {
+ // If node is CH, determine code and create a TDMA schedule.
+ dist_ = config_.maxDist_;
+ currentCH_ = sensor_node_->nodeid();
+ currentCHMAC_ = MAC_BROADCAST;
+// myADVnum_ = mac_->myADVnum();
+
+ /* There are opt(spreading) - 1 codes available b/c need 1 code
+ * for communication with the base station.
+ */
+// clusterCode = (myADVnum_ % numCodesAvail) + 1;
+
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::createSchedule),
+ config_.ra_advTotal_ + config_.ra_join_);
+ }
+ else
+ {
+ int clusterCode;
+
+ /* If node is not a CH, find the CH which allows minimum transmit
+ * power for communication. Set the code and "distance" parameters
+ * accordingly.
+ */
+ if (clusterChoices_.empty())
+ {
+ printf("Warning! No Cluster Head ADVs were heard by %d\n",
sensor_node_->nodeid());
+ currentCH_ = -1; // VER ISSO *****
+ currentCHMAC_ = MAC_BROADCAST;
+ sendMyDataToBS();
+ return;
+ }
+
+ double min_dist = config_.maxDist_ + 1;
+ int ind = 0;
+
+ for (CHs::iterator it = clusterChoices_.begin(); it !=
clusterChoices_.end(); it++, ind++)
+ {
+ chadv element = (chadv) *it;
+
+ if (element.distance < min_dist)
+ {
+ min_dist = element.distance;
+ currentCH_ = element.nodeid;
+ currentCHMAC_ = element.mac;
+// clusterCode = (ind % numCodesAvail) + 1;
+ clusterCode = element.code;
+ }
+ }
+
+ dist_ = min_dist;
+
+ printf("%d has choosen %d as cluster head (mac = %d)\n", sensor_node_-
>nodeid(), currentCH_, currentCHMAC_);
+
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::informClusterHead),
+ config_.ra_advTotal_ + Random::uniform(0, config_.ra_join_ -
config_.ra_delay_));;
+
+ goToSleep();
+
+
+ setCode(clusterCode);
+
+ printf("Current cluster-head of %d is %d, which code is %d, at distance
is %lf\n",
+ sensor_node_->nodeid(),
+ currentCH_,
+ clusterCode,
+ dist_);
+ }
+
+ listenADV_ = false;
+ clearClusterChoices();
+}
+
+void LeachApp::informClusterHead()
+{
+ int dataSize;
+ int nodeId;
+
+ printf("%d sending JOIN_REQ to %d, distance = %lf , at time %lf\n",
+ sensor_node_->nodeid(),
+ currentCH_,
+ dist_,
+ Scheduler::instance().clock());
+
+ dataSize = config_.spreading_ * BYTES_ID;
+ nodeId = sensor_node_->nodeid();
+
+ send(
+// MAC_BROADCAST,
+ currentCHMAC_,
+ currentCH_,
+ LEACH_JOIN_REQ,
+ (char *) (&nodeId),
+ sizeof(int),
+ dataSize,
+ config_.maxDist_, // Using maxDist_, the CH can discover node's
distance
+// dist_,
+ code_);
+}
+
+void LeachApp::createSchedule()
+{
+ if (clusterNodes_.empty())
+ {
+ printf("Warning! There are no nodes in cluster %d\n",
+ sensor_node_->nodeid());
+ sendMyDataToBS();
+ }
+ else
+ {
+ int * msg;
+ int i = 0;
+ int dataSize;
+
+ msg = new int[clusterNodes_.size()];
+
+ printf("%d sending TDMA schedule (ADV_SCH): ", sensor_node_->nodeid());
+
+ for (CNs::iterator it = clusterNodes_.begin(); it !=
clusterNodes_.end(); it++)
+ {
+ msg[i++] = (int) *it;
+ printf("%d ", (int) *it);
+ }
+
+ printf("at time %lf\n", Scheduler::instance().clock());
+
+ dataSize = config_.spreading_ * sizeof(int) * clusterNodes_.size();
+
+ tdmaSchedule_.assign(clusterNodes_.begin(), clusterNodes_.end());
+
+ send(
+ MAC_BROADCAST,
+// sensor_node_->nodeid(),
+ LINK_BROADCAST,
+ LEACH_ADV_SCH,
+ (char *) msg,
+ sizeof(int) * clusterNodes_.size(),
+ dataSize,
+ dist_,
+ code_);
+
+ listenJOINREQ_ = false;
+
+// delete [] msg;
+
+ frameTime_ = (5 + clusterNodes_.size()) * config_.ssSlotTime_;
+ lstRndDelay_ = Random::uniform(0, 0.01);
+ xmitTime_ = config_.ssSlotTime_ * (clusterNodes_.size()) +
lstRndDelay_;
+
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::sendDataToBS),
+ xmitTime_);
+ }
+}
+
+/*********************************************************/
+
+void LeachApp::recv(int type, double distance, int link_dst, int size, char *
meta, int meta_size, int src_mac, int src_lnk)
+{
+#ifdef CHATO
+ printf("Receiving packet at %lf => ", Scheduler::instance().clock());
+#endif
+
+// if (link_dst < 0) // || link_dst == sensor_node_->nodeid())
+ switch (type)
+ {
+ case LEACH_ADV_CH:
+#ifdef CHATO
+ printf("LEACH_ADV_CH\n");
+#endif
+// if (isClusterHead())
+ recvADV_CH(meta, meta_size, distance, src_mac,
src_lnk);
+ break;
+
+ case LEACH_JOIN_REQ:
+#ifdef CHATO
+ printf("JOIN_REQ\n");
+#endif
+
+// if (sensor_node_->nodeid() == link_dst)
+ recvJOIN_REQ(meta, meta_size);
+ break;
+
+ case LEACH_ADV_SCH:
+#ifdef CHATO
+ printf("LEACH_ADV_SCH\n");
+#endif
+ recvADV_SCH(meta, meta_size, src_mac);
+ break;
+
+ case LEACH_DATA:
+#ifdef CHATO
+ printf("LEACH_DATA\n");
+#endif
+// if (sensor_node_->nodeid() == link_dst)
+ recvData(meta, meta_size);
+ break;
+
+ case LEACH_BS_HELLO:
+#ifdef CHATO
+ printf("LEACH_BS_HELLO\n");
+#endif
+ recvBSHello(meta, meta_size, distance);
+ break;
+
+ default:
+ fprintf(stderr, "Unknown received data type on
LeachApp!\n", type);
+ exit(-1);
+ }
+// else
+// fprintf(stderr, "Received a packet addressed to another node!\n");
+}
+
+void LeachApp::recvADV_CH(char * msg, int size, double distance, int src, int
lnk_src)
+{
+ if (listenADV_)
+ {
+ chadv element;
+
+ if (!isClusterHead())
+ printf("%d received ADV_CH from %d (mac = %d, distance = %lf,
code = %d) at %lf\n",
+ sensor_node_->nodeid(),
+ lnk_src,
+ src,
+ distance,
+ *((int *) msg),
+ Scheduler::instance().clock());
+
+ element.nodeid = lnk_src;
+ element.distance = distance;
+ element.mac = src;
+ element.code = *((int *) msg);
+ element.object = NULL;
+
+ clusterChoices_.push_back(element);
+ }
+}
+
+void LeachApp::recvJOIN_REQ(char * msg, int size)
+{
+ if (!isClusterHead())
+ {
+ fprintf(stderr, "Node %d received a JOIN_REQ from %d but it's not a
cluster head!\n",
+ sensor_node_->nodeid(),
+ *((int *) msg));
+ exit(-1);
+ }
+
+ if (listenJOINREQ_)
+ {
+ printf("%d received JOIN_REQ from %d at %lf\n",
+ sensor_node_->nodeid(),
+ *((int *) msg),
+ Scheduler::instance().clock());
+
+ clusterNodes_.push_back(*((int *) msg));
+ }
+ else
+ printf("%d received a late JOIN_REQ from %d at %lf\n",
+ sensor_node_->nodeid(),
+ *((int *) msg),
+ Scheduler::instance().clock());
+}
+
+void LeachApp::recvADV_SCH(char * msg, int size, int src)
+{
+ int * vector = (int *) msg;
+ int elements = size / sizeof(int);
+ int nodeid = sensor_node_->nodeid();
+ double xmitat;
+
+ if (src == currentCHMAC_)
+ {
+ printf("%d received ADV_SCH from %d at %lf\n",
+ sensor_node_->nodeid(),
+ src,
+ Scheduler::instance().clock());
+
+ for (int i = 0; i < elements; i++)
+ if (vector[i] == nodeid)
+ {
+ /* Determine time for a single TDMA frame. Each node sends
data once
+ * per frame in the specified slot.
+ */
+ frameTime_ = (5 + elements) * config_.ssSlotTime_;
+ xmitTime_ = config_.ssSlotTime_ * i;
+ endFrmTime_ = frameTime_ - xmitTime_;
+ xmitat = Scheduler::instance().clock() + xmitTime_;
+
+ printf("Node %d schedule to transmit at %lf (%lf) | It is
now %lf\n",
+ nodeid,
+ xmitat,
+ xmitTime_,
+ Scheduler::instance().clock());
+
+ if (xmitat + endFrmTime_ < nextChangeTime_ - 10 *
config_.ssSlotTime_)
+ {
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::sendData),
+ xmitTime_);
+
+ goToSleep();
+ }
+ else
+ printf("teste!!!!!!!\n");
+ return;
+ }
+
+ // There is no time slot available
+ printf("Warning!!! %d doesn't have a transmit time for CH %d!\n",
sensor_node_->nodeid(), currentCH_);
+
+ sendMyDataToBS();
+ }
+}
+
+void LeachApp::recvData(char * msg, int size)
+{
+ printf("CH %d received data from %d at %lf",
+ sensor_node_->nodeid(),
+ ((SensedData *) msg)->node_id(),
+ Scheduler::instance().clock());
+
+ mergeSensedData((SensedData *) msg);
+
+ printf(" - Now there is %d sensed data\n",
+ sensedData_->getData().size());
+}
+
+/* Occurs when received a base station "hello".
+ * This is usefull to determine the BS distance from
+ * node, but it is not original from LEACH paper.
+ * -- J�lio C�sar e Melo
+ */
+void LeachApp::recvBSHello(char * msg, int size, double distance)
+{
+ bsDist_ = distance;
+
+ printf("Node %d received BS_Hello at distance %lf\n",
+ sensor_node_->nodeid(),
+ distance);
+}
+
+/*********************************************************/
+
+void LeachApp::sendData()
+{
+ int dataSize;
+ double xmitat;
+
+ if (sensedData_->count() > 0 && !isClusterHead())
+ {
+ dataSize = config_.spreading_ * (BYTES_ID * sensedData_->msgSize() +
config_.sigSize_);
+
+ wakeUp();
+
+ printf("Node %d sending %d data to CH %d at %lf | d = %lf\n",
+ sensor_node_->nodeid(),
+ sensedData_->count(),
+ currentCH_,
+ Scheduler::instance().clock() + frameTime_,
+ dist_);
+
+ sensedData_->node_id() = sensor_node_->nodeid();
+
+ send(
+ // MAC_BROADCAST,
+ currentCHMAC_,
+ currentCH_,
+ LEACH_DATA,
+ sensedData_,
+ dataSize,
+ dist_,
+ code_);
+
+ // sensedData_ = new SensedData();
+ clearSensedData();
+
+ if (!isClusterHead())
+ goToSleep();
+ }
+
+ xmitat = Scheduler::instance().clock() + frameTime_;
+
+ if (xmitat + endFrmTime_ < nextChangeTime_ - 10 * config_.ssSlotTime_)
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::sendData),
+ frameTime_);
+}
+
+void LeachApp::send(int mac_dst, int link_dst, int type, char * msg, int msg_size,
int data_size, double dist, int code)
+{
+ if (dist <= 0)
+ {
+ printf("Distancia invalida! %lf\n", dist);
+ exit(-1);
+ }
+
+ ((RCAgent *) agent_)->sendmsg(
+ data_size,
+ msg,
+ msg_size,
+ mac_dst,
+ link_dst,
+ dist,
+ code,
+ type);
+}
+
+void LeachApp::send(int mac_dst, int link_dst, int type, void * msg, int msg_size,
int data_size, double dist, int code)
+{
+ send(
+ mac_dst,
+ link_dst,
+ type,
+ (char *) msg,
+ msg_size,
+ data_size,
+ dist,
+ code);
+}
+
+void LeachApp::send(int mac_dst, int link_dst, int type, SensedData * msg, int
data_size, double dist, int code)
+{
+ send(
+ mac_dst,
+ link_dst,
+ type,
+ (char *) msg,
+ msg->msgSize(),
+ data_size,
+ dist,
+ code);
+}
+
+void LeachApp::sendDataToBS()
+{
+ int dataSize, compressedSize;
+ double dist;
+ double xmitat;
+ double rndDelay;
+
+ rndDelay = Random::uniform(0, 0.01);
+ xmitat = rndDelay - lstRndDelay_ + frameTime_;
+ lstRndDelay_ = rndDelay;
+
+ if (sensedData_->count() > 0)
+ {
+ dataSize = config_.spreading_ * (BYTES_ID * sensedData_-
>msgSize() + config_.sigSize_);
+
+ if (!isClusterHead())
+ wakeUp();
+
+ printf("Node %d sending %d data to BS at time %lf\n",
+ sensor_node_->nodeid(),
+ sensedData_->count(),
+ Scheduler::instance().clock());
+
+ sensedData_->timeStamp() = Scheduler::instance().clock();
+ sensedData_->node_id() = sensor_node_->nodeid();
+
+ send(
+ MAC_BROADCAST,
+ destination_id_,
+ LEACH_DATA,
+ sensedData_,
+ dataSize,
+ bsDist_,
+ config_.bsCode_);
+
+ if (!isClusterHead())
+ goToSleep();
+
+ clearSensedData();
+ }
+
+ if (xmitat + endFrmTime_ < nextChangeTime_ - 10 * config_.ssSlotTime_)
+ Scheduler::instance().schedule(
+ eventHandler_,
+ new LeachEvent(&LeachApp::sendDataToBS),
+ xmitat);
+}
+
+void LeachApp::sendMyDataToBS()
+{
+ sendDataToBS();
+}
+
+void LeachApp::disseminateData(SensedData * data)
+{
+ if (data != NULL)
+ {
+ printf("Common Node %d - Disseminating data - Time %.3lf\n",
+ sensor_node_->nodeid(),Scheduler::instance().clock());
+
+// printf("%d is aggregating sensed data - Time %.3lf",
+// sensor_node_->nodeid(),Scheduler::instance().clock());
+
+ mergeSensedData(data);
+
+ printf(" - There is %d data aggregated.\n", sensedData_->count());
//sensedData_->getData().size());
+ }
+}
+
+void LeachApp::mergeSensedData(SensedData * data)
+{
+ AppDataList list;
+
+ list = data->getData();
+
+ for (AppDataList::iterator it = list.begin(); it != list.end(); it++)
+ sensedData_->insertNewData(*it);
+}
+
+void LeachApp::clearClusterChoices()
+{
+ for (CHs::iterator it = clusterChoices_.begin(); it != clusterChoices_.end();
it++)
+ {
+ chadv element = (chadv) *it;
+
+ if (element.object != NULL)
+ delete element.object;
+ }
+
+ clusterChoices_.clear();
+}
+
+void LeachApp::clearSensedData()
+{
+ sensedData_->clear();
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/app/leachApp.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/leach/app/leachApp.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/app/leachApp.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/app/leachApp.h 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,204 @@
+#ifndef _LEACHAPP_H_
+#define _LEACHAPP_H_
+
+#include <mannasim/sensorBaseApp.h>
+#include <mannasim/sensedData.h>
+#include <scheduler.h>
+#include <list.h>
+#include <mannasim/leach/mac/mac-sensor.h>
+
+#define LEACH_ADV_CH 0
+#define LEACH_JOIN_REQ 1
+#define LEACH_ADV_SCH 2
+#define LEACH_DATA 3
+#define LEACH_BS_HELLO 4 /* Base station sends a "hello"
+ * to sensor nodes discover its distance.
+ * -- J�lio C�sar e Melo
+ */
+
+#define BYTES_ID sizeof(int)
+
+#define LINK_BROADCAST -1
+
+#define INITIAL_ENERGY 10
+//#include <list>
+
+//using namespace std;
+
+#include <mannasim/commonNodeApp.h>
+
+class LeachApp : public CommonNodeApp //SensorBaseApp
+{
+ protected:
+ class LeachEvent : public Event
+ {
+ public:
+ typedef void (LeachApp::*delegation) (void);
+
+ private:
+ delegation delegate_;
+
+ public:
+ LeachEvent(delegation delegate)
+ {
+ this->delegate_ = delegate;
+ }
+
+ delegation getDelegate() { return delegate_; }
+ void setDelegate(delegation delegate) { delegate_ =
delegate; }
+
+ inline void executeDelegation(LeachApp * app)
+ {
+ (app->*delegate_)();
+ }
+ };
+
+ class LeachEventHandler : public Handler
+ {
+ private:
+ LeachApp * app_;
+ public:
+ LeachEventHandler(LeachApp * app) { app_ = app; }
+
+ void handle(Event * event)
+ {
+ LeachEvent * levent = (LeachEvent *) event;
+
+ levent->executeDelegation(app_);
+ }
+ };
+
+ public:
+ struct chadv
+ {
+ int nodeid;
+ int mac;
+ double distance;
+ int code;
+ void * object;
+ };
+
+ typedef list <chadv> CHs;
+ typedef list <int> CNs;
+
+ protected:
+ LeachEventHandler * eventHandler_;
+
+ // List of cluster heads
+ CHs clusterChoices_;
+
+ // List of cluster nodes
+ CNs clusterNodes_;
+ CNs tdmaSchedule_;
+
+ // Sensed data
+ SensedData * sensedData_;
+
+ protected:
+ MacSensor * mac_;
+ double nextChangeTime_;
+
+ private:
+ bool isCH_; // Is cluster-head?
+ bool hasBeenCH_; // Has been cluster-head?
+
+ public:
+ struct leachConfig
+ {
+ int numberNodes_; // opt(nn)
+ int desiredClusters_; // opt(num_clusters)
+ double changeTimeIncrement_; // opt(ch_change)
+ double rndAdvDelay_; // opt(ra_adv)
+ double ra_advTotal_; // opt(ra_adv_total)
+ double ra_join_; // opt(ra_join)
+ double ra_delay_; // opt(ra_delay);
+ double maxDist_; // opt(max_dist)
+ int spreading_; // opt(spreading)
+ double ssSlotTime_; // opt(ss_slot_time)
+ int sigSize_; // opt(sig_size) Bytes for
data signal
+ int bsCode_; // opt(bsCode)
+ };
+
+ protected:
+ leachConfig config_;
+ int round_;
+ double dist_;
+ double bsDist_;
+ int code_;
+ double now_;
+ double frameTime_;
+ double endFrmTime_;
+ double beginIdle_;
+ double beginSleep_;
+ int myADVnum_;
+ bool CHHeard_;
+ double xmitTime_;
+ double lstRndDelay_; // Last random delay
+ int currentCH_;
+ int currentCHMAC_;
+ bool listenADV_; // If it's listenning to ADV
+ bool listenJOINREQ_; // If it's listenning to JOIN_REQ
+
+ public:
+ LeachApp(int nNodes, int nClusters, double maxDist);
+ ~LeachApp();
+
+ void start();
+
+ void goToSleep();
+ void wakeUp();
+
+ // checkAlive not implemented!
+
+ bool isClusterHead() { return isCH_; }
+ bool hasBeenClusterHead() { return hasBeenCH_; }
+ void setHasNotBeenClusterHead() { hasBeenCH_ = 0; }
+ void setClusterHead();
+ void unsetClusterHead();
+
+ virtual void findBestCluster();
+ virtual void informClusterHead();
+ virtual void createSchedule();
+ virtual void advertiseClusterHead();
+
+ void recv(int type, double distance, int link_dst, int size, char *
meta, int meta_size, int src_mac, int src_lnk);
+ virtual void sendData();
+ virtual void sendDataToBS();
+ void sendMyDataToBS();
+
+ protected:
+ virtual void decideClusterHead();
+
+ // Probability to turn cluster head
+ virtual double calculatePi();
+
+ virtual void recvADV_CH(char *, int, double, int, int);
+ inline void recvJOIN_REQ(char *, int);
+ inline void recvADV_SCH(char *, int, int);
+ inline void recvData(char *, int);
+ inline void recvBSHello(char *, int, double);
+
+ inline void send(int mac_dst, int link_dst, int type, char * msg, int
msg_size, int data_size, double dist, int code);
+ inline void send(int mac_dst, int link_dst, int type, void * msg, int
msg_size, int data_size, double dist, int code);
+ inline void send(int mac_dst, int link_dst, int type, SensedData * msg,
int data_size, double dist, int code);
+ virtual void disseminateData(SensedData * data);
+
+ /* Calculate time required to transmit n bytes of data,
+ * considering a 1 Mbps radio speed.
+ */
+ virtual double TxTime(int n) { return n * 8.0 / 1000000.0; }
+
+ /* Initialize LEACH's configuration */
+ virtual void initializeConfig();
+
+ protected:
+ void setCode(int code);
+
+ protected:
+ virtual void mergeSensedData(SensedData *);
+ void clearClusterChoices();
+ virtual void clearSensedData();
+ int calculateCompression(SensedData * sensedData);
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/app/leachData.h ns-allinone-
2.29-mannasim/ns-2.29/mannasim/leach/app/leachData.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/app/leachData.h1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/app/leachData.h 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,15 @@
+#include <ns-process.h>
+
+class LeachAdvCHData : public AppData
+{
+ private:
+ int nodeid_;
+
+ public:
+ LeachAdvCHData(int nodeid) : AppData(LEACH_ADV_CH)
+ {
+ this->nodeid_ = nodeid;
+ }
+
+ inline int & nodeid() { return nodeid_; }
+};
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/leachAgent.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/leach/leachAgent.cc
--- ns-allinone-2.29/ns-2.29/mannasim/leach/leachAgent.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/leachAgent.cc 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,46 @@
+#include <mannasim/accessPointApp.h>
+#include "leachAgent.h"
+
+static class LeachAgentClass : public TclClass
+{
+ public:
+ LeachAgentClass() : TclClass("Agent/RCAgent/LeachAgent") {}
+
+ TclObject* create(int, const char*const*)
+ {
+ return (new LeachAgent());
+ }
+} class_leach_agent;
+
+
+void LeachAgent::recv(Packet* p, Handler*)
+{
+ hdr_cmn *hdr = HDR_CMN(p);
+ hdr_rca *rca_hdr = HDR_RCA(p);
+
+// if (app_ && (rca_hdr->rca_link_dst() < 0 || rca_hdr->rca_link_dst() ==
((AcessPointApp *) app_)->sensor_node()->nodeid()))
+
+ packetMsg_ = rca_hdr->msg_type();
+ distEst_ = rca_hdr->dist_est();
+
+ if (packetMsg_ == LEACH_DATA)
+ {
+// DEBUG
+// printf("|Access point received at %lf, packet = %d, distance = %lf,
packet_msg = %d, meta = %d\n, meta_size = %d\n",
+// Scheduler::instance().clock(),
+// p,
+// distEst_,
+// packetMsg_,
+// rca_hdr->meta(),
+// rca_hdr->meta_size());
+//
+// printf("=) %d %d\n", rca_hdr->rca_link_src(), rca_hdr->meta());
+ ((AccessPointApp *) app_)->process_data(rca_hdr->meta_size(), (AppData
*) rca_hdr->meta());
+ }
+
+// ((AccessPointApp *) app_)->recv(packetMsg_, distEst_, rca_hdr-
>rca_link_dst(), hdr->size(), rca_hdr->meta(),
+// rca_hdr->meta_size(), rca_hdr->rca_mac_src(), rca_hdr-
>rca_link_src());
+
+ Packet::free(p);
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/leachAgent.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/leach/leachAgent.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/leachAgent.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/leachAgent.h 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,16 @@
+#ifndef _LEACH_AGENT_H_
+#define _LEACH_AGENT_H_
+
+#include <mannasim/leach/app/leachApp.h>
+#include <mannasim/leach/rca/rcagent.h>
+
+class LeachAgent : public RCAgent
+{
+ public:
+ virtual void recv(Packet*, Handler*);
+};
+
+#endif
+
+
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/mac/leach-wireless-phy.cc ns-
allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/leach-wireless-phy.cc
--- ns-allinone-2.29/ns-2.29/mannasim/leach/mac/leach-wireless-phy.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/leach-wireless-phy.cc
2006-05-26 11:08:31.000000000 -0300
@@ -0,0 +1,173 @@
+#include "leach-wireless-phy.h"
+
+static class LeachWirelessPhyClass : public TclClass
+{
+ public:
+ LeachWirelessPhyClass() : TclClass("Phy/WirelessPhy/LeachWirelessPhy")
{}
+
+ TclObject* create(int, const char * const *)
+ {
+ return new LeachWirelessPhy();
+ }
+} class_LeachWirelessPhy;
+
+/*****************************************************************************/
+
+LeachWirelessPhy::LeachWirelessPhy()
+{
+ cs_end_ = new double[CS_MAX_CODE + 1];
+
+ for (int i = 0; i < CS_MAX_CODE + 1; i++)
+ cs_end_[i] = 0;
+
+ bandwidth_ = 1000000; // 100 Mbps
+ Efriss_amp_ = 100 * 1e-12; // Friss amp energy (J/bit/m^2)
+ Etwo_ray_amp_ = 0.013 * 1e-12; // Two-ray amp energy (J/bit/m^4)
+ EXcvr_ = 50 * 1e-9; // Xcvr energy (J/bit)
+ // Use this base threshold to get a "hearing radius" of ~ 1 m
+ // // Pfriss_amp_ = Efriss_amp_ * bandwidth_; // Friss power
(W/m^2)
+ Ptwo_ray_amp_ = Etwo_ray_amp_ * bandwidth_; // Two-ray power (W/m^4)
+ PXcvr_ = EXcvr_ * bandwidth_; // Xcvr power (W)
+ ss_ = 1; // amount of spreading
+// time_finish_rcv_ = 0;
+ dist_ = 0; // approx. distance to transmitter
+}
+
+LeachWirelessPhy::~LeachWirelessPhy()
+{
+ delete [] cs_end_;
+}
+
+int LeachWirelessPhy::sendUp(Packet *p)
+{
+ double Pr;
+ int pk_recvd = 0;
+ PacketStamp s;
+
+ if(propagation_)
+ {
+ s.stamp((MobileNode*)node(), ant_, 0, lambda_);
+ Pr = propagation_->Pr(&p->txinfo_, &s, this);
+ }
+
+ hdr_cmn *ch = HDR_CMN(p);
+ hdr_rca *rca_hdr = HDR_RCA(p);
+
+ // Record when this packet ends and its code.
+ int code = rca_hdr->get_code();
+
+// printf("Tempo de recebimento para pacote: %lf\n", txtime(p));
+ cs_end_[code] = Scheduler::instance().clock() + txtime(p);
+
+ pk_recvd = WirelessPhy::sendUp(p);
+
+ if (pk_recvd)
+ {
+ /*
+ ** Determine approximate distance of node transmitting node
+ ** from received power.
+ **/
+ double hr, ht; // height of recv and xmit antennas
+ double rX, rY, rZ; // receiver location
+ double d1, d2;
+ double crossover_dist, Pt, M;
+
+ ((MobileNode *) node_)->getLoc(&rX, &rY, &rZ);
+
+ hr = rZ + ant_->getZ();
+ ht = hr; // assume transmitting node antenna at same
height
+
+ crossover_dist = sqrt((16 * PI * PI * L_ * ht * ht * hr * hr)
+ / (lambda_ * lambda_));
+
+ Pt = p->txinfo_.getTxPr();
+ M = lambda_ / (4 * PI);
+ d1 = sqrt( (Pt * M * M) / (L_ * Pr) );
+ d2 = sqrt(sqrt( (Pt * hr * hr * ht * ht) / Pr) );
+
+ if (d1 < crossover_dist)
+ dist_ = d1;
+ else
+ dist_ = d2;
+
+ rca_hdr->dist_est() = (int) ceil(dist_);
+ }
+
+ return pk_recvd;
+}
+
+void LeachWirelessPhy::sendDown(Packet * p)
+{
+ if ((node()->energy_model()->node_on() != true) || (node()->energy_model()-
>sleep()))
+ {
+ printf("Node is not on or it is sleeping!\n");
+ return;
+ }
+
+ /*
+ ** The power for transmission depends on the distance between
+ ** the transmitter and the receiver. If this distance is
+ ** less than the crossover distance:
+ ** (c_d)^2 = 16 * PI^2 * L * hr^2 * ht^2
+ ** ---------------------------------
+ ** lambda^2
+ ** the power falls off using the Friss equation. Otherwise, the
+ ** power falls off using the two-ray ground reflection model.
+ ** Therefore, the power for transmission of a bit is:
+ ** Pt = Pfriss_amp_*d^2 if d < c_d
+ ** Pt = Ptwo_ray_amp_*d^4 if d >= c_d.
+ ** The total power dissipated per bit is PXcvr_ + Pt.
+ **/
+ hdr_cmn *ch = HDR_CMN(p);
+ hdr_rca *rca_hdr = HDR_RCA(p);
+
+ double d = rca_hdr->get_dist();
+ double hr, ht; // height of recv and xmit antennas
+ double tX, tY, tZ; // transmitter location
+
+ ((MobileNode *) node_)->getLoc(&tX, &tY, &tZ);
+
+ ht = tZ + ant_->getZ();
+ hr = ht; // assume receiving node and antenna at same height
+
+ double crossover_dist = sqrt((16 * PI * PI * L_ * ht * ht * hr * hr)
+ / (lambda_ * lambda_));
+
+ if (d < crossover_dist)
+ if (d > 1)
+ Pt_ = Efriss_amp_ * bandwidth_ * d * d;
+ else
+ // Pfriss_amp_ is the minimum transmit amplifier power.
+ Pt_ = Efriss_amp_ * bandwidth_;
+ else
+ Pt_ = Etwo_ray_amp_ * bandwidth_ * d * d * d * d;
+
+ PXcvr_ = EXcvr_ * bandwidth_;
+
+ // if (energy_->remove(pktEnergy(Pt_, PXcvr_, ch->size())) != 0)
+ // alive_ = 0;
+
+ Pt_consume_ = pktEnergy(Pt_, PXcvr_, ch->size());
+
+ WirelessPhy::sendDown(p);
+}
+
+double LeachWirelessPhy::pktEnergy(double pt, double pxcvr, int nbytes)
+{
+ /*
+ ** Energy (in Joules) is power (in Watts=Joules/sec) divided by
+ ** bandwidth (in bits/sec) multiplied by the number of bytes, times 8 bits.
+ **/
+ // If data has been spread, power per DATA bit should be the same
+ // as if there was no spreading ==> divide transmit power
+ // by spreading factor.
+
+ double bits = (double) nbytes * 8;
+
+ pt /= ss_;
+
+ double j = bits * (pt + pxcvr) / bandwidth_;
+
+ return j;
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/mac/leach-wireless-phy.h ns-
allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/leach-wireless-phy.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/mac/leach-wireless-phy.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/leach-wireless-phy.h
2006-05-26 11:08:31.000000000 -0300
@@ -0,0 +1,40 @@
+#include <wireless-phy.h>
+
+#define CS_MAX_CODE 999
+
+class LeachWirelessPhy : public WirelessPhy
+{
+ private:
+ double pktEnergy(double pt, double pxcvr, int nbytes);
+
+ protected:
+ double *cs_end_; // time when carrier sence will
end per code
+
+ double Efriss_amp_; // Xmit amp energy (J/bit/m^2)
+ double Etwo_ray_amp_; // Xmit amp energy (J/bit/m^4)
+ double EXcvr_; // Xcvr energy (J/bit)
+ double Pfriss_amp_; // Friss base transmission power
(W/m^2)
+ double Ptwo_ray_amp_; // Two-ray base transmission
power (W/m^4)
+ double PXcvr_; // Xcvr Power (W)
+ double dist_; // approx. distance to transmitter
+ int ss_; // amount of spreading
+
+
+ public:
+ LeachWirelessPhy();
+ ~LeachWirelessPhy();
+
+ inline double csEnd(int code)
+ {
+ if (code > CS_MAX_CODE || code < 0)
+ {
+ fprintf(stderr, "csEnd(code): code > CS_MAX_CODE?; %d
%d\n", code, CS_MAX_CODE);
+ exit(-1);
+ }
+
+ return cs_end_[code];
+ }
+
+ int sendUp(Packet * p);
+ void sendDown(Packet * p);
+};
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/mac/mac-sensor.cc ns-allinone-
2.29-mannasim/ns-2.29/mannasim/leach/mac/mac-sensor.cc
--- ns-allinone-2.29/ns-2.29/mannasim/leach/mac/mac-sensor.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/mac-sensor.cc 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,383 @@
+/******************************************************************
+ * This code was developed as part of the MIT uAMPS project. *
+ ******************************************************************/
+
+#include "mac-sensor.h"
+#include "leach-wireless-phy.h"
+
+
+/* ======================================================================
+ Macros
+ ====================================================================== */
+
+#define SET_RX_STATE(x) \
+{ \
+ rx_state_ = (x); \
+}
+
+#define SET_TX_STATE(x) \
+{ \
+ tx_state_ = (x); \
+}
+
+
+/* ======================================================================
+ TCL Hooks for the simulator
+ ====================================================================== */
+static class MacSensorClass : public TclClass {
+public:
+ MacSensorClass() : TclClass("Mac/Sensor") {}
+ TclObject* create(int, const char*const*) {
+ return (new MacSensor());
+ }
+} class_macSensor;
+
+
+/* ======================================================================
+ Mac Class Functions
+ ====================================================================== */
+MacSensor::MacSensor() : Mac(), mhDefer_(this, 0.005), mhTx_(this),
+ mhRx_(this), code_(0), ss_(10), CHheard_(0),
+ myADVnum_(0)
+{
+
+ tx_state_ = rx_state_ = MAC_IDLE;
+
+ sta_seqno_ = 1;
+ cache_ = 0;
+ cache_node_count_ = 0;
+
+/* bind("code_",&code_);
+// bind("base_X",&base_X);
+// bind("base_Y",&base_Y);
+ bind("node_num_",&node_num_);
+ bind("ss_",&ss_);
+ bind("CHheard_",&CHheard_);
+ bind("myADVnum_",&myADVnum_);
+*/
+}
+
+int
+MacSensor::command(int argc, const char*const* argv)
+{
+ if (argc == 3) {
+
+ if (strcmp(argv[1], "log-target") == 0) {
+ logtarget_ = (NsObject*) TclObject::lookup(argv[2]);
+ if(logtarget_ == 0)
+ return TCL_ERROR;
+ return TCL_OK;
+ }
+
+ if(strcmp(argv[1], "nodes") == 0) {
+ if(cache_) return TCL_ERROR;
+ cache_node_count_ = atoi(argv[2]) + 1;
+ cache_ = new Host[cache_node_count_ + 1];
+ assert(cache_);
+ bzero(cache_, sizeof(Host) * (cache_node_count_+1 ));
+ return TCL_OK;
+
+ }
+ }
+ return Mac::command(argc, argv);
+}
+
+/* ======================================================================
+ Misc Routines
+ ====================================================================== */
+
+inline int
+MacSensor::is_idle()
+{
+ if(rx_state_ != MAC_IDLE)
+ return 0;
+
+ if(tx_state_ != MAC_IDLE)
+ return 0;
+
+ return 1;
+}
+
+/* ======================================================================
+ Outgoing Packet Routines
+ ====================================================================== */
+
+void
+MacSensor::send(Packet *p, Handler *h)
+{
+ struct hdr_macSensor* dh = HDR_MACSensor(p);
+
+ if (h != 0)
+ callback_ = h;
+
+ hdr_rca *rca_hdr = HDR_RCA(p);
+ int code = rca_hdr->get_code();
+
+ /*
+ * Perform carrier sence. If the channel is busy, backoff.
+ */
+ if(!is_idle() || ((LeachWirelessPhy *) netif_)->csEnd(code) >
Scheduler::instance().clock()) {
+ /*
+ printf("CSMA: Node %d defering %s for time %f: code = %d ...\n",
+ rca_hdr->rca_src(),rca_hdr->meta(),TX_Time(p),code);
+ fflush(stdout);
+ */
+ //mhDefer_.start(p, Random::uniform(TX_Time(p)));
+ mhDefer_.start(p, TX_Time(p));
+ return;
+ }
+
+ pktTx_ = p;
+
+ /*
+ * Determine how many ADV messages have been heard to determine
+ * spreading code to use for each cluster.
+ */
+ myADVnum_ = CHheard_;
+
+ hdr_cmn::access(p)->txtime() = TX_Time(p);
+
+ /*
+ * Assign the data packet a sequence number.
+ */
+ dh->dh_scontrol = sta_seqno_++;
+
+ SET_TX_STATE(MAC_SEND);
+ /*
+ * Start a timer that expires when the packet transmission is complete.
+ */
+ mhTx_.start(p->copy(), TX_Time(p));
+ downtarget_->recv(pktTx_, this);
+ /*
+ struct hdr_mac *mh = HDR_MAC(pktTx_);
+ printf("%d sending data to %d at time %f\n", mh->macSA(), mh->macDA(),
+ Scheduler::instance().clock());
+ fflush(stdout);
+ */
+
+ if(callback_) {
+ Handler *h = callback_;
+ callback_ = 0;
+ h->handle((Event*) 0);
+ }
+
+}
+
+/* ======================================================================
+ Incoming Packet Routines
+ ====================================================================== */
+
+void
+MacSensor::recv(Packet *p, Handler *h)
+{
+ struct hdr_cmn *hdr = HDR_CMN(p);
+
+ /*
+ * Sanity Check
+ */
+ assert(initialized());
+
+ /*
+ * Handle outgoing packets.
+ */
+ if(hdr->direction() == -1) {
+
+ /*
+ * Update the MAC header
+ */
+ hdr->size() += ETHER_HDR_LEN;
+ send(p, h);
+ return;
+ }
+
+ /*
+ * Handle incoming packets.
+ * We just received the 1st bit of a packet on the interface.
+ */
+
+ hdr_rca *rca_hdr = HDR_RCA(p);
+ if (rca_hdr->msg_type() == ADV_TYPE)
+ CHheard_++;
+
+ /*
+ * If I am not receiving the code of the incoming packet, drop it.
+ */
+ int new_code = rca_hdr->get_code();
+ if (new_code != code_) {
+
+// printf("In MAC_IDLE %d: %d is not a code I am currently receiving %d.\n",
node_num_, new_code, code_);
+// fflush(stdout);
+
+ Packet::free(p);
+ return;
+ }
+
+ /*
+ * If the interface is currently in transmit mode, then
+ * it probably won't even see this packet. However, the
+ * "air" around me is BUSY so I need to let the packet
+ * proceed. Just set the error flag in the common header
+ * so that the packet gets thrown away.
+ */
+ if(tx_state_ && hdr->error() == 0) {
+ printf("Warning! %d: Cannot receive while transmitting.\n", node_num_);
+ fflush(stdout);
+ hdr->error() = 1;
+ }
+
+ /*
+ * If more than ss_ simultaneous transmissions occur, there is a
+ * collision and I cannot receive the packet.
+ */
+ int num_codes = 0;
+ for (int i = 0; i < 1000; i++)
+ if (((LeachWirelessPhy *) netif_)->csEnd(i) > Scheduler::instance().clock())
+ num_codes++;
+ if (num_codes > ss_) {
+ printf("I can hear %d different packets ==> collision.\n", num_codes);
+ fflush(stdout);
+ collision(p);
+ return;
+ }
+
+ if(rx_state_ == MAC_IDLE) {
+
+ SET_RX_STATE(MAC_RECV);
+
+ pktRx_ = p;
+
+ /*
+ * Schedule the reception of this packet, in txtime seconds.
+ */
+ double rtime = TX_Time(p);
+ assert(rtime >= 0.0);
+ mhRx_.start(p, rtime);
+ }
+ else {
+ /*
+ * If the power of the incoming packet is smaller than the
+ * power of the packet currently being received by at least
+ * the capture threshold, then we ignore the new packet.
+ */
+
+ if(hdr->error() == 0) {
+ hdr->error() = 1;
+ }
+ if(pktRx_->txinfo_.RxPr / p->txinfo_.RxPr >= p->txinfo_.CPThresh) {
+ capture(p);
+ } else {
+ collision(p);
+ }
+ }
+}
+
+void
+MacSensor::capture(Packet *p)
+{
+ printf("CAPTURE!!!!\n");
+ fflush(stdout);
+ Packet::free(p);
+ //p = 0;
+}
+
+void
+MacSensor::collision(Packet *p)
+{
+ printf("COLLISION!!!!\n");
+ fflush(stdout);
+ switch(rx_state_) {
+
+ case MAC_RECV:
+ SET_RX_STATE(MAC_COLL);
+
+ /* fall through */
+
+ case MAC_COLL:
+ assert(pktRx_);
+ assert(mhRecv_.busy);
+
+ /*
+ * Since a collision has occurred, figure out
+ * which packet that caused the collision will
+ * "last" the longest. Make this packet,
+ * pktRx_ and reset the Recv Timer if necessary.
+ */
+ if(TX_Time(p) > mhRx_.expire()) {
+ mhRx_.stop(pktRx_);
+ Packet::free(pktRx_);
+ pktRx_ = p;
+ mhRx_.start(pktRx_,TX_Time(pktRx_));
+ }
+ else {
+ Packet::free(p);
+ }
+ break;
+
+ default:
+ assert(0);
+ }
+}
+
+void
+MacSensor::recvDATA(Packet *p)
+{
+ /*
+ * Adjust the MAC packet size - ie, strip off the mac header.
+ */
+ struct hdr_cmn *ch = HDR_CMN(p);
+ ch->size() -= ETHER_HDR_LEN;
+ ch->num_forwards() += 1;
+
+ /*
+ * Pass the packet up to the link-layer.
+ */
+ uptarget_->recv(p, (Handler*) 0);
+}
+
+void
+MacSensor::deferHandler(Event *e)
+{
+ /*
+ hdr_rca *rca_hdr = HDR_RCA((Packet *)e);
+ printf("Node %d trying to send %s again at time %f.\n", node_num_,
+ rca_hdr->meta(), Scheduler::instance().clock());
+ fflush(stdout);
+ */
+ /*
+ * After timer expires, try to transmit the packet (i.e., perform
+ * carrier sense again to see if the channel is now free).
+ */
+ send((Packet *)e,(Handler*) 0);
+}
+
+void
+MacSensor::recvHandler(Event *e)
+{
+
+ if (rx_state_ == MAC_COLL) {
+ struct hdr_cmn *ch = HDR_CMN(pktRx_);
+ ch->error() = 1;
+ }
+ SET_RX_STATE(MAC_IDLE);
+
+ /*
+ * If this packet was unicast and not intended for me, drop it.
+ */
+ struct hdr_mac *mh = HDR_MAC(pktRx_);
+ int dst = mh->macDA();
+
+ if (dst != index_ && (u_int32_t) dst != (u_int32_t) MAC_BROADCAST)
+ Packet::free(pktRx_);
+ else
+ recvDATA(pktRx_);
+}
+
+void
+MacSensor::sendHandler(Event *e)
+{
+ /*
+ * Once transmission is complete, drop the packet.
+ */
+ SET_TX_STATE(MAC_IDLE);
+ Packet::free((Packet *)e);
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/mac/mac-sensor.h ns-allinone-
2.29-mannasim/ns-2.29/mannasim/leach/mac/mac-sensor.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/mac/mac-sensor.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/mac-sensor.h 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,145 @@
+/******************************************************************
+ * This code was developed as part of the MIT uAMPS project. *
+ ******************************************************************/
+
+#ifndef ns_mac_sensor_h
+#define ns_mac_sensor_h
+
+#include "mac.h"
+#include "mac-sensor-timers.h"
+#include "random.h"
+
+#define GET_ETHER_TYPE(x) GET2BYTE((x))
+#define SET_ETHER_TYPE(x,y) {u_int16_t t = (y); STORE2BYTE(x,&t);}
+
+#define ADV_TYPE 0
+
+/* ======================================================================
+ Frame Formats
+ ====================================================================== */
+
+struct hdr_macSensor {
+ u_int16_t dh_duration;
+ u_char dh_da[ETHER_ADDR_LEN];
+ u_char dh_sa[ETHER_ADDR_LEN];
+ u_int16_t dh_scontrol;
+};
+
+
+/* ======================================================================
+ Definitions
+ ====================================================================== */
+
+#define ETHER_HDR_LEN \
+ (sizeof(struct hdr_macSensor) + \
+ ETHER_FCS_LEN)
+
+#define DATA_Time(len) (8 * (len) / bandwidth_)
+
+
+/* ======================================================================
+ The following destination class is used for duplicate detection.
+ ====================================================================== */
+
+class Host {
+public:
+ LIST_ENTRY(Host) link;
+ u_int32_t index;
+ u_int32_t seqno;
+};
+
+
+/* ======================================================================
+ The actual Sensor MAC class.
+ ====================================================================== */
+
+class MacSensor : public Mac {
+
+ friend class DeferSensorTimer;
+ friend class TxSensorTimer;
+ friend class RxSensorTimer;
+
+public:
+ MacSensor();
+ void recv(Packet *p, Handler *h);
+
+private:
+ int command(int argc, const char*const* argv);
+
+ /*
+ * Packet Transmission Functions.
+ */
+ void send(Packet *p, Handler *h);
+
+ /*
+ * Packet Reception Functions.
+ */
+ void recvDATA(Packet *p);
+ void capture(Packet *p);
+ void collision(Packet *p);
+
+ inline int initialized() {
+ return (cache_ && logtarget_ && Mac::initialized());
+ }
+
+ void mac_log(Packet *p) {
+ logtarget_->recv(p, (Handler*) 0);
+ }
+
+ inline double TX_Time(Packet *p) {
+ double t = DATA_Time((HDR_CMN(p))->size());
+ if(t < 0.0) {
+ Packet::free(p);
+ exit(1);
+ }
+ return t;
+ }
+
+public:
+ void deferHandler(Event *e);
+ void recvHandler(Event *e);
+ void sendHandler(Event *e);
+
+private:
+
+ DeferSensorTimer mhDefer_;
+ TxSensorTimer mhTx_;
+ RxSensorTimer mhRx_;
+
+ int code_; // the code this node is currently receiving
+// int base_X; // the position X of the base station
+// int base_Y; // the position Y of the base station
+ int node_num_; // this node's ID number
+ int ss_; // max number of overlapping ss transmissions
+ int CHheard_; // Number of other CH ADVs heard
+ int myADVnum_; // Position of node's ADV among all ADVs
+
+ /* ============================================================
+ Internal MAC State
+ ============================================================ */
+
+ MacState rx_state_; // incoming state (MAC_RECV or MAC_IDLE)
+ MacState tx_state_; // outgoing state
+
+ inline int is_idle(void);
+
+ NsObject* logtarget_;
+
+ /* ============================================================
+ Duplicate Detection state
+ ============================================================ */
+
+ u_int16_t sta_seqno_; // next seqno that I'll use
+ int cache_node_count_;
+ Host *cache_;
+
+public:
+ inline int & node_num() { return node_num_; }
+ inline int & code() { return code_; }
+ inline int & myADVnum() { return myADVnum_; }
+
+};
+
+
+#endif /* __mac_sensor_h__ */
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/mac/mac-sensor-timers.cc ns-
allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/mac-sensor-timers.cc
--- ns-allinone-2.29/ns-2.29/mannasim/leach/mac/mac-sensor-timers.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/mac-sensor-timers.cc
2006-05-26 11:08:31.000000000 -0300
@@ -0,0 +1,90 @@
+/******************************************************************
+ * This code was developed as part of the MIT uAMPS project. *
+ ******************************************************************/
+
+#include "mac-sensor.h"
+#include "mac-sensor-timers.h"
+
+
+/* ======================================================================
+ Timers
+ ====================================================================== */
+
+void
+MacSensorTimer::start(Packet *p, double time)
+{
+ Scheduler &s = Scheduler::instance();
+
+ assert(busy_ == 0);
+
+ busy_ = 1;
+ paused_ = 0;
+ stime = s.clock();
+ rtime = time;
+ assert(rtime >= 0.0);
+
+ s.schedule(this, p, rtime);
+}
+
+void
+MacSensorTimer::stop(Packet *p)
+{
+ Scheduler &s = Scheduler::instance();
+
+ assert(busy_);
+
+ if(paused_ == 0)
+ s.cancel((Event *)p);
+
+ busy_ = 0;
+ paused_ = 0;
+ stime = 0.0;
+ rtime = 0.0;
+}
+
+/* ======================================================================
+ Defer Timer
+ ====================================================================== */
+
+void
+DeferSensorTimer::handle(Event *e)
+{
+ busy_ = 0;
+ paused_ = 0;
+ stime = 0.0;
+ rtime = 0.0;
+
+ mac->deferHandler(e);
+}
+
+/* ======================================================================
+ Receive Timer
+ ====================================================================== */
+
+void
+RxSensorTimer::handle(Event *e)
+{
+ busy_ = 0;
+ paused_ = 0;
+ stime = 0.0;
+ rtime = 0.0;
+
+ mac->recvHandler(e);
+}
+
+
+/* ======================================================================
+ Send Timer
+ ====================================================================== */
+
+void
+TxSensorTimer::handle(Event *e)
+{
+ busy_ = 0;
+ paused_ = 0;
+ stime = 0.0;
+ rtime = 0.0;
+
+ mac->sendHandler(e);
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/mac/mac-sensor-timers.h ns-
allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/mac-sensor-timers.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/mac/mac-sensor-timers.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/mac/mac-sensor-timers.h 2006-
05-26 11:08:31.000000000 -0300
@@ -0,0 +1,65 @@
+/******************************************************************
+ * This code was developed as part of the MIT uAMPS project. *
+ ******************************************************************/
+
+#ifndef __mac_sensor_timers_h__
+#define __mac_sensor_timers_h__
+
+/* ======================================================================
+ Timers
+ ====================================================================== */
+class MacSensor;
+
+class MacSensorTimer : public Handler {
+public:
+ MacSensorTimer(MacSensor* m, double s = 0) : mac(m) {
+ busy_ = paused_ = 0; stime = rtime = 0.0; slottime_ = s;
+ }
+
+ virtual void handle(Event *e) = 0;
+
+ virtual void start(Packet *p, double time);
+ virtual void stop(Packet *p);
+ virtual void pause(void) { assert(0); }
+ virtual void resume(void) { assert(0); }
+
+ inline int busy(void) { return busy_; }
+ inline int paused(void) { return paused_; }
+ inline double slottime(void) { return slottime_; }
+ inline double expire(void) {
+ return ((stime + rtime) - Scheduler::instance().clock());
+ }
+
+protected:
+ MacSensor *mac;
+ int busy_;
+ int paused_;
+ Event intr;
+ double stime; // start time
+ double rtime; // remaining time
+ double slottime_;
+};
+
+
+class DeferSensorTimer : public MacSensorTimer {
+public:
+ DeferSensorTimer(MacSensor *m, double s) : MacSensorTimer(m,s) {}
+ void handle(Event *e);
+};
+
+class RxSensorTimer : public MacSensorTimer {
+public:
+ RxSensorTimer(MacSensor *m) : MacSensorTimer(m) {}
+
+ void handle(Event *e);
+};
+
+class TxSensorTimer : public MacSensorTimer {
+public:
+ TxSensorTimer(MacSensor *m) : MacSensorTimer(m) {}
+
+ void handle(Event *e);
+};
+
+#endif /* __mac_sensor_timers_h__ */
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/rca/rcagent.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/leach/rca/rcagent.cc
--- ns-allinone-2.29/ns-2.29/mannasim/leach/rca/rcagent.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/rca/rcagent.cc 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,213 @@
+/*************************************************************************
+ *
+ * This code was developed as part of the MIT SPIN project. (June, 1999)
+ *
+ *************************************************************************/
+
+#include "mannasim/leach/app/leachApp.h"
+
+#include "object.h"
+#include "agent.h"
+#include "trace.h"
+#include "packet.h"
+#include "scheduler.h"
+
+#include "mac.h"
+#include "ll.h"
+//#include "cmu-trace.h"
+
+#include "rcagent.h"
+#include "rtp.h"
+#include "random.h"
+#include "ip.h"
+
+#include "mannasim/leach/mac/mac-sensor.h"
+
+
+static class RCAgentClass : public TclClass {
+ public:
+ RCAgentClass() : TclClass("Agent/RCAgent") {}
+ TclObject* create(int, const char*const*) {
+ return (new RCAgent());
+ }
+} class_rc_agent;
+
+RCAgent::RCAgent() : Agent(PT_RCA)
+{
+ mac = NULL;
+ ll = 0;
+
+ bind("packetSize_", &size_);
+ bind("packetMsg_", &packetMsg_);
+ bind("distEst_", &distEst_);
+}
+
+RCAgent::~RCAgent()
+{
+}
+
+ int
+RCAgent::command(int argc, const char*const* argv)
+{
+ TclObject *obj;
+ Tcl& tcl = Tcl::instance();
+
+ if (argc == 3) {
+ if(strcmp(argv[1], "log-target") == 0) {
+ log_target = (Trace*) TclObject::lookup(argv[2]);
+ if(log_target == 0)
+ return TCL_ERROR;
+ return TCL_OK;
+ } else if(strcmp(argv[1], "log") == 0) {
+ log(argv[2]);
+ return TCL_OK;
+ }
+ } else if (argc == 4) {
+ if (strcasecmp(argv[1], "add-ll") == 0) {
+ if( (obj = TclObject::lookup(argv[2])) == 0) {
+ fprintf(stderr, "RCAgent: %s lookup of %s failed\n", argv[1],
+ argv[2]);
+ return TCL_ERROR;
+ }
+ ll = (NsObject*) obj;
+ if( (obj = TclObject::lookup(argv[3])) == 0) {
+ fprintf(stderr, "RCAgent: %s lookup of %s failed\n", argv[1],
+ argv[2]);
+ return TCL_ERROR;
+ }
+ mac = (Mac*) obj;
+ return TCL_OK;
+ }
+ }
+
+ if (strcmp(argv[1], "sendmsg") == 0) {
+ if (argc < 6) {
+ fprintf(stderr, "RCAgent: %s needs argc >= 6\n", argv[1]);
+ return TCL_ERROR;
+ }
+ int mac_dst;
+ if (Tcl_GetInt(tcl.interp(),(char *)argv[4], &mac_dst) != TCL_OK) {
+ fprintf(stderr, "RCAgent: could not convert %s to int\n", argv[4]);
+ return TCL_ERROR;
+ }
+ if (argc == 6) {
+ RCAgent::sendmsg(atoi(argv[2]), argv[3], mac_dst, -1, 10, 0,
atoi(argv[5]));
+ return (TCL_OK);
+ }
+ int link_dst;
+ if (Tcl_GetInt(tcl.interp(),(char *)argv[5], &link_dst) != TCL_OK) {
+ fprintf(stderr, "RCAgent: could not convert %s to int\n", argv[5]);
+ return TCL_ERROR;
+ }
+ if (argc == 7) {
+ RCAgent::sendmsg(atoi(argv[2]), argv[3], mac_dst, link_dst, 10, 0,
atoi(argv[6]));
+ return (TCL_OK);
+ }
+ double dist_to_dest;
+ if (Tcl_GetDouble(tcl.interp(),(char *)argv[6], &dist_to_dest) != TCL_OK)
{
+ fprintf(stderr, "RCAgent: could not convert %s to double\n", argv[6]);
+ return TCL_ERROR;
+ }
+ if (argc == 8) {
+
RCAgent::sendmsg(atoi(argv[2]),argv[3],mac_dst,link_dst,dist_to_dest,0,
atoi(argv[7]));
+ return (TCL_OK);
+ }
+ int code;
+ if (Tcl_GetInt(tcl.interp(),(char *)argv[7], &code) != TCL_OK) {
+ fprintf(stderr, "RCAgent: could not convert %s to int\n", argv[7]);
+ return TCL_ERROR;
+ }
+ if (argc == 9) {
+ RCAgent::sendmsg(atoi(argv[2]), argv[3], mac_dst, link_dst,
dist_to_dest, code, atoi(argv[8]));
+ return (TCL_OK);
+ } else {
+ fprintf(stderr, "RCAgent: %s needs argc <= 9\n", argv[1]);
+ return TCL_ERROR;
+ }
+ }
+
+ return Agent::command(argc, argv);
+}
+
+void RCAgent::sendmsg(int data_size, const char* meta_data, int destination, int
sendto, double dist_to_dest, int code, int packetMsg)
+{
+ // printf("sendmsg: strlen(meta_data) = %d\n", strlen(meta_data));
+
+ sendmsg(data_size, meta_data, strlen(meta_data), destination, sendto,
dist_to_dest, code, packetMsg);
+}
+
+void RCAgent::sendmsg(int data_size, const char* meta_data, int meta_size, int
mac_dst, int link_dst, double dist_to_dest, int code, int packetMsg)
+{
+
+ dst_.port_ = 0;
+ here_.port_ = 0;
+
+ Packet *p = allocpkt();
+ hdr_cmn *hdr = HDR_CMN(p);
+ hdr->size() = data_size;
+
+ hdr_rca *rca_hdr = HDR_RCA(p);
+ // rca_hdr->msg_type() = packetMsg_;
+ rca_hdr->msg_type() = packetMsg;
+ rca_hdr->set_meta(meta_data, meta_size);
+ rca_hdr->rca_mac_dst() = mac_dst;
+ rca_hdr->rca_link_dst() = link_dst;
+ rca_hdr->rca_mac_src() = mac->addr();
+ rca_hdr->rca_link_src() = ((LeachApp *) app_)->sensor_node()->nodeid();
+ rca_hdr->get_dist() = dist_to_dest;
+ rca_hdr->get_code() = code;
+
+ hdr_mac* mh = HDR_MAC(p);
+ mh->set(MF_DATA, mac->addr(), mac_dst);
+
+ // printf("Sending: Type=%d data_size=%d\n\tSource=%x\n\tTarget=
%x\n\tDistance=%lf\n",rca_hdr->msg_type(), hdr->size(), rca_hdr->rca_src(),rca_hdr-
>rca_mac_dst(), dist_to_dest);
+ //printf("\tLink_dst = %x\n",rca_hdr->rca_link_dst());
+ //fflush(stdout);
+
+ //Packet::PrintRcHeader(p,"RCAgent");
+
+ // Scheduler::instance().schedule(ll, p, 0);
+ target_->recv(p);
+
+ return;
+}
+
+void RCAgent::recv(Packet* p, Handler*)
+{
+ hdr_cmn *hdr = HDR_CMN(p);
+ hdr_rca *rca_hdr = HDR_RCA(p);
+
+ if (app_ && (rca_hdr->rca_link_dst() < 0 || rca_hdr->rca_link_dst() ==
((LeachApp *) app_)->sensor_node()->nodeid()))
+ {
+ // printf("Receiving: Link_dst = %x, Type=%d data_size=%d\n\tMeta = %s,
source = %d\n",rca_hdr->rca_link_dst(),rca_hdr->msg_type(), hdr->size(), rca_hdr-
>meta(),rca_hdr->rca_src());
+ // fflush(stdout);
+
+ packetMsg_ = rca_hdr->msg_type();
+ distEst_ = rca_hdr->dist_est();
+
+ ((LeachApp *) app_)->recv(packetMsg_, distEst_, rca_hdr->rca_link_dst(),
hdr->size(), rca_hdr->meta(),
+ rca_hdr->meta_size(), rca_hdr->rca_mac_src(),
rca_hdr->rca_link_src());
+ }
+ // else
+ // printf("Pacote descartado por %d\n", ((LeachApp *) app_)->sensor_node()-
>nodeid());
+
+ /*
+ * didn't expect packet (or we're a null agent?)
+ */
+ Packet::free(p);
+}
+
+
+void RCAgent::log(const char *msg)
+{
+ if (!log_target) return;
+
+ Scheduler& s = Scheduler::instance();
+
+ sprintf(log_target->pt_->buffer(),
+ "C %.5f %s",
+ s.clock(),
+ msg);
+ log_target->pt_->dump();
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/rca/rcagent.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/leach/rca/rcagent.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/rca/rcagent.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/rca/rcagent.h 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * This code was developed as part of the MIT SPIN project. (June, 1999)
+ *
+ *************************************************************************/
+
+
+#ifndef ns_rca_h
+#define ns_rca_h
+
+#include "math.h"
+#include "object.h"
+#include "agent.h"
+#include "trace.h"
+#include "packet.h"
+#include "priqueue.h"
+#include "mac.h"
+#include "random.h"
+
+#include "agent.h"
+#include "app.h"
+
+//#include "../../sensorBaseApp.h"
+
+#define SAMPLERATE 8000
+#define ADV 0
+#define REQ 1
+#define DATA 2
+#define RESEND 3
+
+class RCAgent : public Agent {
+public:
+ RCAgent();
+ ~RCAgent();
+ inline void sendmsg(int data_size, const char* meta_data, int destination, int
sendto, double dist_to_dest, int code, int packetMsg);
+ void sendmsg(int data_size, const char* meta_data, int meta_size, int mac_dst,
int link_dst, double dist_to_dest, int code, int packetMsg);
+
+ virtual void recv(Packet*, Handler*);
+ void log(const char *msg);
+ int command(int argc, const char*const* argv);
+
+protected:
+ int packetMsg_;
+ int packetSize_;
+ double distEst_;
+
+private:
+
+ NsObject *ll; // our link layer object
+ Mac *mac; // our MAC layer object
+
+ Trace *log_target; // log target
+
+public:
+ inline Mac * getMAC() { return mac; }
+};
+
+#endif
+
+
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/rca/rca-ll.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/leach/rca/rca-ll.cc
--- ns-allinone-2.29/ns-2.29/mannasim/leach/rca/rca-ll.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/rca/rca-ll.cc 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * This code was developed as part of the MIT SPIN project. (June, 1999)
+ *
+ *************************************************************************/
+
+
+#include "delay.h"
+//#include "object.h"
+#include "packet.h"
+
+//#include "debug.h"
+#include "list.h"
+#include "arp.h"
+#include "topography.h"
+#include "trace.h"
+#include "node.h"
+#include "mac.h"
+#include "ll.h"
+#include "mannasim/leach/rca/rca-ll.h"
+#include "random.h"
+
+static class RCALinkLayerClass : public TclClass {
+ public:
+ RCALinkLayerClass() : TclClass("RCALinkLayer") {}
+ TclObject* create(int, const char*const*) {
+ return (new RCALinkLayer);
+ }
+} class_rcalinklayer;
+
+void RCALinkLayer::sendDown(Packet* p)
+{
+ Scheduler& s = Scheduler::instance();
+ hdr_rca *rcah = HDR_RCA(p);
+ hdr_ll *llh = HDR_LL(p);
+ char *mh = (char*)p->access(hdr_mac::offset_);
+
+ llh->seqno() = ++seqno_;
+ llh->lltype() = LL_DATA;
+
+ mac_->hdr_src(mh, mac_->addr());
+ mac_->hdr_type(mh, ETHERTYPE_IP);
+ mac_->hdr_dst((char*) HDR_MAC(p), rcah->rca_mac_dst());
+
+ // Packet::PrintRcHeader(p,"Link Outgoing");
+
+ // mac_->hdr_dst((char*)HDR_MAC(p),rcah->rca_mac_dst());
+ //s.schedule(downtarget_, p, mindelay_ / 2 + delay_ * Random::uniform());
+ s.schedule(downtarget_, p, delay_);
+}
+
+
+void RCALinkLayer::sendUp(Packet* p)
+{
+ Scheduler& s = Scheduler::instance();
+ hdr_rca *rcah = HDR_RCA(p);
+
+ // Packet::PrintRcHeader(p,"Link Incomming");
+ if (hdr_cmn::access(p)->error() > 0) {
+ printf("Warning! %d dropping packet from %d b/c it has an error.\n",
rcah->rca_mac_dst(), rcah->rca_mac_src());
+ fflush(stdout);
+ drop(p);
+ } else
+ s.schedule(uptarget_, p, delay_);
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/leach/rca/rca-ll.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/leach/rca/rca-ll.h
--- ns-allinone-2.29/ns-2.29/mannasim/leach/rca/rca-ll.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/leach/rca/rca-ll.h 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,29 @@
+/*************************************************************************
+ *
+ * This code was developed as part of the MIT SPIN project. (June, 1999)
+ *
+ *************************************************************************/
+
+
+#ifndef rca_ll_h
+#define rca_ll_h
+
+#include "delay.h"
+#include "queue.h"
+
+#include "arp.h"
+#include "node.h"
+#include "god.h"
+
+class RCALinkLayer : public LL {
+ public:
+ RCALinkLayer() : LL() {};
+ private:
+ virtual void sendDown(Packet* p);
+ virtual void sendUp(Packet* p);
+};
+
+#endif
+
+
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/onDemandData.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/onDemandData.cc
--- ns-allinone-2.29/ns-2.29/mannasim/onDemandData.cc 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/onDemandData.cc 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,77 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class represents data requests from an autosider of the Wireless
+/// Sensor Network. This kind of request is interesting for on demand data
+/// dissemination where dissemination only occurs when the outsider request
+/// data.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "onDemandData.h"
+
+/// Default constructor, invokes the request_type parameter constructor
+/// with default value.
+OnDemandData :: OnDemandData()
+{
+ /// REAL request type is default.
+ OnDemandData::OnDemandData(REAL);
+}
+
+/// Constructor. The request type of the OnDemandData is passed as
+/// parameter. Note that the superclass constructor (SensedData) is also
+/// called with ON_DEMAND_DATA AppDataType.
+OnDemandData :: OnDemandData(int request_type) : SensedData(ON_DEMAND_DATA)
+{
+ this->request_type_ = request_type;
+}
+
+/// Copy constructor. The OnDemandData is passed as parameter.
+OnDemandData :: OnDemandData(OnDemandData & data) : SensedData(data)
+{
+ request_type_ = data.requestType();
+}
+
+/// Returns the size, in bytes, of the object.
+int OnDemandData :: size() const
+{
+ return sizeof(OnDemandData);
+}
+
+/// Creates a copy of the OnDemandData object.
+AppData * OnDemandData :: copy()
+{
+ return new OnDemandData(*this);
+}
+
+/// Returns the address-of the request type field. Use this function carrefully.
+int & OnDemandData :: requestType()
+{
+ return request_type_;
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/onDemandData.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/onDemandData.h
--- ns-allinone-2.29/ns-2.29/mannasim/onDemandData.h 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/onDemandData.h 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,88 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class represents data requests from an autosider of the Wireless
+/// Sensor Network. This kind of request is interesting for on demand data
+/// dissemination where dissemination only occurs when the outsider request
+/// data.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef on_demand_data_
+#define on_demand_data_
+
+/// Request type possible values.
+/// REAL - the node collects new data.
+/// BUFFER - the node gets data from its buffer.
+/// AVERAGE - the node gets data from the average of all data from its buffer.
+enum
+{
+ REAL = 0,
+ BUFFER = 1,
+ AVERAGE = 2
+};
+
+#include <common/ns-process.h>
+#include "sensedData.h"
+
+/// Class that encapsulates the request messages functionality.
+///
+/// extends SensedData
+class OnDemandData : public SensedData{
+
+ public:
+
+ /// Constructors.
+ OnDemandData();
+ OnDemandData(int request_type);
+ OnDemandData(OnDemandData &data);
+
+ /// Size of the object.
+ int size() const;
+
+ /// Creates a copy of the object.
+ AppData * copy();
+
+ /// Returns the OnDemandData request type.
+ int & requestType();
+
+ private:
+
+ /// Request type of OnDemandData. Possible values BUFFER,
+ /// REAL and AVERAGE
+ int request_type_;
+
+ //n�o sei se precisa. Acho melhor colocar fun��o no SensedData
+ //que retornatamanho do infoRepository
+ //indicates the number of parameters (OnDemandParameters)
+ // int parameters_amount_;
+};
+
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/onDemandParameter.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/onDemandParameter.cc
--- ns-allinone-2.29/ns-2.29/mannasim/onDemandParameter.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/onDemandParameter.cc 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,70 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class represents the queries submited within a OnDemandData
+/// request message. Contains the requested data and a set of operations
+/// allowed to be performed to get the data (for example, get data if
+/// temperature is GREATER_THAN 50 celsius degrees).
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "onDemandParameter.h"
+
+/// Constructor. Requested data and operation performed on it are passed
+/// as parameters.
+OnDemandParameter :: OnDemandParameter(AppData* data, int operation)
+ :
AppData(ON_DEMAND_PARAMETER)
+{
+ this->data_ = data;
+ this->operation_ = operation;
+}
+
+/// Returns OnDemandParameter object size in bytes.
+int OnDemandParameter :: size() const
+{
+ return sizeof(OnDemandParameter);
+}
+
+/// Creates a copy of OnDemandParameter object.
+AppData * OnDemandParameter :: copy()
+{
+ return new OnDemandParameter(data_, operation_);
+}
+
+/// Returns the address of operation_ field. Use this function carrefully.
+int & OnDemandParameter :: operation()
+{
+ return operation_;
+}
+
+/// Returns the requested data.
+AppData * OnDemandParameter :: data()
+{
+ return data_;
+}
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/onDemandParameter.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/onDemandParameter.h
--- ns-allinone-2.29/ns-2.29/mannasim/onDemandParameter.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/onDemandParameter.h 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,80 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class represents the queries submited within a OnDemandData
+/// request message. Contains the requested data and a set of operations
+/// allowed to be performed to get the data (for example, get data if
+/// temperature is GREATER_THAN 50 celsius degrees).
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef on_demand_parameter_h_
+#define on_demand_parameter_h_
+
+/// Comparation operations supported.
+enum
+{
+ GREATER_THAN = 0,
+ LESS_THAN = 1,
+ EQUAL = 2
+};
+
+#include <common/ns-process.h>
+
+/// Represents a query (each item) of the request message (OnDemandData).
+///
+/// extends AppData
+class OnDemandParameter : public AppData
+{
+ public:
+
+ /// Constructor.
+ OnDemandParameter(AppData* data, int operation);
+
+ /// Returns the size of the object.
+ int size() const;
+
+ /// Creates a copy of the object.
+ AppData * copy();
+
+ /// Accessor methods
+ int & operation();
+ AppData * data();
+
+ private:
+
+ /// Data requested.
+ AppData* data_;
+
+ /// Type of operation. Supported values nowadays:
+ /// GREATER_THAN, LESS_THAN, EQUAL
+ int operation_;
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/processing.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/processing.cc
--- ns-allinone-2.29/ns-2.29/mannasim/processing.cc 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/processing.cc 2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,258 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Class that simulates the processing activity on sensed data. It
+/// constains a processed data buffer witch is accessed by the sensing
+/// in orther to disseminate processing results. Processing is a
+/// base class that can be specialized to simulate different types of data
+/// processing algorithms.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "processing.h"
+
+/// Default constructor. Only call superclass constructor.
+Processing::Processing() : TclObject()
+{
+}
+
+/// NS-2 command function overloaded. Deals with TCL script commands to C++
+/// implementation.
+int Processing::command(int argc, const char*const* argv)
+{
+ if (argc == 3)
+ {
+ if (strcmp("node",argv[1]) == 0)
+ {
+ sensor_node_ = (SensorNode*)TclObject::lookup(argv[2]);
+ if (sensor_node_)
+ return TCL_OK;
+ fprintf(stderr,"Error: %s object not found",argv[2]);
+ return TCL_ERROR;
+ }
+ }
+ return TclObject::command(argc, argv);
+}
+
+/// Receives common nodes sensed data from a EVENT_DRIVEN wireless sensor
+/// application. Verifies whether an event (for example, temperature sensed
+/// greater than X) occured or not. If so, process it and give it to
+/// dissemination. Otherwise, drop the information.
+AppData* Processing::processSensedData(AppData* data_, AppData* eventData_)
+{
+
+ /// This activity wastes sensor node energy! PROCESSING WASTE HERE!
+ ((Battery*)sensor_node_->energy_model())->DecrProcessingEnergy(
+ EVENT_CHECK_INSTRUCTIONS,
+ sensor_node_-
>instructionsPerSecond(),
+ sensor_node_-
>processingPower());
+
+ if(eventData_->checkEvent(data_))
+ {
+ printf("Processing::processSensedData - Event detected!\n");
+ return data_;
+ }
+ else
+ {
+ return NULL;
+ }
+}
+
+/// Method that deals with request messagens. First the request type is
+/// retrieved from data, then for each OnDemandParameter associated
+/// with the request message a specific process, based on query request,
+/// is realized.
+AppData * Processing::processRequest(AppData* data)
+{
+
+ /// Data received isn't OnDemandData.
+ if(data->type() != ON_DEMAND_DATA)
+ {
+ fprintf(stderr,"The data received is not a onDemandData.");
+ return NULL;
+ }
+
+ OnDemandData* onDemandData = (OnDemandData*)data;
+ int request_type = onDemandData->requestType();
+ AppDataList list = onDemandData->getData();
+
+ AppDataList::iterator it;
+ OnDemandParameter* parameter;
+
+ for (it = list.begin(); it != list.end(); it++)
+ {
+ if(((AppData*)(*it))->type() != ON_DEMAND_PARAMETER)
+ {
+ fprintf(stderr,"The data received is not a onDemandParameter.");
+ return NULL;
+ }
+
+ /// Gets OnDemandParameter associated with request an process it.
+ parameter = (OnDemandParameter*)(*it);
+ return (process_request_data(parameter, request_type));
+ }
+}
+
+/// Manages diferent requests from an outsider observer. The request_type
+/// parameter is used to select the further data processing
+AppData* Processing::process_request_data(OnDemandParameter* parameter, int
request_type)
+{
+ int operation = parameter->operation();
+ AppData* data_ = parameter->data();
+
+ /// Choose the correct method given the request type.
+ switch (request_type)
+ {
+ case REAL:
+ return process_real_request(data_, operation);
+ break;
+
+ case BUFFER:
+ return process_buffer_request(data_, operation);
+ break;
+
+ case AVERAGE:
+ return process_average_request(data_, operation);
+ break;
+
+ default:
+ fprintf(stderr,"Processing::process_request_data - Invalid Request
Type.");
+ break;
+ }
+ return NULL;
+}
+
+/// Process request messages of REAL type. In this kind of data request,
+/// the sensor node drops all data from its buffer, collect new one and
+/// process it.
+AppData* Processing::process_real_request(AppData* data_, int operation)
+{
+ /// New synthetic data needs to be generated. The applications list of
+ /// data generator is used.
+ DataGenList list = app_->getGenList();
+ DataGenList::iterator it;
+
+ DataGenerator* gen;
+ AppData* newData;
+
+ /// Processed data.
+ SensedData* responseData = new SensedData();
+
+ /// For each data generator associated with the application app_...
+ for(it = list.begin(); it != list.end(); it++)
+ {
+ gen = (*it);
+
+ /// ... checks if generated data type is the same of the sample data...
+ if(gen->type() == data_->type())
+ {
+ /// ... generates new data and process it.
+ newData = gen->collect();
+ if(data_->compareData(newData, operation))
+ {
+ responseData->insertNewData(newData);
+ return responseData;
+ }
+ }
+ }
+ return NULL;
+}
+
+/// Process request messages of BUFFER type. In this kind of data request,
+/// data storage in sensor data buffer is processed and if satisfys the
+/// request message it is given to dissemination.
+AppData* Processing::process_buffer_request(AppData* data_, int operation)
+{
+ AppDataList list;
+
+ if(info_ != NULL)
+ {
+ list = info_->getData();
+ }
+ else
+ {
+ printf("Processing::process_buffer_request - Buffer is empty.\n");
+ return NULL;
+ }
+
+ AppData* bufferData_;
+ AppDataList::iterator it;
+ SensedData* responseData_ = new SensedData();
+
+ //each AppData (temperature, ...) should have this method
+ for(it = list.begin(); it != list.end(); it++)
+ {
+ bufferData_ = (*it);
+
+ /// ... checks if buffer data type is the same of the sample data...
+ if(bufferData_->type() == data_->type())
+ {
+ if(data_->compareData(bufferData_, operation))
+ {
+ /// ... buffer data attends request requiriments, add it to
+ /// response data.
+ responseData_->insertNewData(bufferData_);
+ }
+ }
+ }
+
+ /// There were data in buffer, disseminate it.
+ if(responseData_->existsData())
+ {
+ return responseData_;
+ }
+ return NULL;
+}
+
+/// Process request messages of AVERAGE type. In this kind of request messages
+/// an average of the data storage in sensor node buffer is computed and
+/// returned to the dissemination.
+///
+/// NOT IMPLEMENTED YET.
+AppData * Processing::process_average_request(AppData* data_,int operation)
+{
+}
+
+/// Reset the processed data making it NULL.
+void Processing::resetData()
+{
+ info_ = NULL;
+}
+
+/// Returns data generated by the processing activity.
+SensedData * Processing::getProcessedData()
+{
+ return info_;
+}
+
+/// Set application attached to the wireless sensor application.
+void Processing::setApp(SensorBaseApp* app)
+{
+ app_ = app;
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/processing.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/processing.h
--- ns-allinone-2.29/ns-2.29/mannasim/processing.h 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/processing.h2006-05-26
11:08:31.000000000 -0300
@@ -0,0 +1,110 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Class that simulates the processing activity on sensed data. It
+/// constains a processed data buffer witch is accessed by the sensing
+/// in orther to disseminate processing results. Processing is a
+/// base class that can be specialized to simulate different types of data
+/// processing algorithms.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __processing_h__
+#define __processing_h__
+
+#include <common/packet.h>
+
+#include "battery.h"
+#include "sensorNode.h"
+#include "sensedData.h"
+#include "onDemandData.h"
+#include "dataGenerator.h"
+#include "onDemandParameter.h"
+
+/// Processor instructions count for aggregation and event check (greater than,
+/// equal...) operations.
+#define AGGREGATION_INSTRUCTIONS 200
+#define EVENT_CHECK_INSTRUCTIONS 200
+
+class SensorBaseApp;
+
+/// Simulates the sensor data processing activity.
+///
+/// extends TclObject
+class Processing : public TclObject
+{
+ public:
+
+ /// Constructor.
+ Processing();
+
+ /// ??? This method MUST be overloaded.
+ virtual void recvData(AppData* data_) = 0;
+
+ /// NS-2 Function.
+ int command(int argc, const char*const* argv);
+
+ /// Simulates sensed data processing. This method
+ /// MUST be oveloaded.
+ virtual void processSensedData(AppData* data_) = 0;
+
+ /// Simulates sensed data processing. Deals wih event occurence
+ /// verification for EVEN_DRIVEN applications. Don't need to be
+ /// overloaded.
+ AppData* processSensedData(AppData* data_, AppData* eventData_);
+
+ /// Methods for methods for request messages treatment.
+ virtual AppData * processRequest(AppData* data);
+ virtual AppData * process_real_request(AppData* data_, int operation);
+ virtual AppData * process_buffer_request(AppData* data_, int
operation);
+ virtual AppData * process_request_data(OnDemandParameter* parameter,
int request_type);
+
+ /// NOT IMPLEMENTED YET.
+ virtual AppData * process_average_request(AppData* data_, int
operation);
+
+ /// Accessor methods
+ virtual SensedData* getProcessedData();
+ virtual void resetData();
+ virtual void setApp(SensorBaseApp* app);
+
+ protected:
+
+ /// Processed data buffer.
+ SensedData* info_;
+
+ /// Application attached to the wireless sensor application. Used
+ /// in on demand processing.
+ SensorBaseApp * app_;
+
+ /// Sensor node where the processing takes place. Used for energy
+ /// contability propose.
+ SensorNode* sensor_node_;
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$1.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$1.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$1.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$1.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/AccessPointConfPanel$1######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/AccessPointConfPanel;##
Synthetic###<init>###(Lgui/AccessPointConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$1;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/AccessPointConfPanel######
access$0##9(Lgui/AccessPointConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####-#########
#####
+###############
###A####### *�##+�##�#########
+#####/###0########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$2.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$2.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$2.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$2.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/AccessPointConfPanel$2######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/AccessPointConfPanel;##
Synthetic###<init>###(Lgui/AccessPointConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$2;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/AccessPointConfPanel######
access$1##9(Lgui/AccessPointConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####=#########
#####
+###############
###A####### *�##+�##�#########
+#####?###@########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$3.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$3.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$3.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$3.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/AccessPointConfPanel$3######java/awt/event/FocusAdapter######this$0###Lgui/A
ccessPointConfPanel;##
Synthetic###<init>###(Lgui/AccessPointConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$3;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/AccessPointConfPanel######access$2
##8(Lgui/AccessPointConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####B#########
#####
+###############
+###A####### *�##+�##�#########
+#####D###E########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$4.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$4.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$4.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$4.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/AccessPointConfPanel$4######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/AccessPointConfPanel;##
Synthetic###<init>###(Lgui/AccessPointConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$4;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/AccessPointConfPanel######
access$3##9(Lgui/AccessPointConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####W#########
#####
+###############
###A####### *�##+�##�#########
+#####Y###Z########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$5.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$5.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$5.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$5.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/AccessPointConfPanel$5######java/awt/event/FocusAdapter######this$0###Lgui/A
ccessPointConfPanel;##
Synthetic###<init>###(Lgui/AccessPointConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$5;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/AccessPointConfPanel######access$4
##8(Lgui/AccessPointConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####\#########
#####
+###############
+###A####### *�##+�##�#########
+#####^###_########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$6.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$6.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$6.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$6.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/AccessPointConfPanel$6######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/AccessPointConfPanel;##
Synthetic###<init>###(Lgui/AccessPointConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$6;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/AccessPointConfPanel######
access$5##9(Lgui/AccessPointConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####q#########
#####
+###############
###A####### *�##+�##�#########
+#####s###t########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$7.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$7.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$7.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$7.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/AccessPointConfPanel$7######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/AccessPointConfPanel;##
Synthetic###<init>###(Lgui/AccessPointConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$7;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/AccessPointConfPanel######
access$6##9(Lgui/AccessPointConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$8.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$8.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$8.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$8.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/AccessPointConfPanel$8######java/awt/event/FocusAdapter######this$0###Lgui/A
ccessPointConfPanel;##
Synthetic###<init>###(Lgui/AccessPointConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$8;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/AccessPointConfPanel######access$7
##8(Lgui/AccessPointConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####�#########
#####
+###############
+###A####### *�##+�##�#########
+#####�###�########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$9.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$9.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$9.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel$9.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,7 @@
+���###.#####gui/AccessPointConfPanel$9######java/lang/Object######this$0###Lgui/Ac
cessPointConfPanel;##

Synthetic###val$item###Ljava/lang/String;###<init>##/(Lgui/AccessPointConfPanel;Lja
va/lang/String;)V###Code###()V
#
+#
+####
#### ####
###

#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel$9;##
#toString###()Ljava/lang/String;##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#0########################### #############
+#####
###=########*�##*+�##*,�##�#########
+#####�#########
#####################
###/########*�##�###############�#####
###########################
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.class 2006-05-26
11:25:53.000000000 -0300
@@ -0,0 +1,92 @@
+���###.#s###gui/AccessPointConfPanel######javax/swing/JPanel######accessPointAppli
cationComboBox###Ljavax/swing/JComboBox;###accessPointApplicationLabel###Ljavax/swi
ng/JLabel;###accessPointEnergyLabel###accessPointEnergyTextField###Ljavax/swing/JTe
xtField;###accessPointLocationComboBox###accessPointLocationLabel###accessPointNumb
erLabel###accessPointNumberTextField##!accessPointTransmissionRangeLabel##
%accessPointTransmissionRangeTextField###joulesLabel###metersLabel###<init>###()V##
#Code
####
+#######initComponents
####
+#######LineNumberTable###LocalVariableTable###this###Lgui/AccessPointConfPanel;###
javax/swing/JComboBox##
+#!##
#### #######javax/swing/JLabel##%
+#&##
#### ###(###javax/swing/JTextField##*
+#+##
#### ###-
### ###/
# ## ###1
#
+## ###3
#### ###5
#### ###7
#
## ###9
#### ###;
#### ###=
#### ###?## setLayout###(Ljava/awt/LayoutManager;)V
#A#B
+###C###java/awt/Color##E###(III)V
###G
+#F#H##setBackground###(Ljava/awt/Color;)V
#J#K
+###L##java/awt/Font##N###Arial##P###(Ljava/lang/String;II)V
###R
+#O#S###setFont###(Ljava/awt/Font;)V
#U#V
+#!#W##
javax/swing/DefaultComboBoxModel##Y###java/lang/String##[##"Application/AccessPoint
Application##]###([Ljava/lang/Object;)V
###_
+#Z#`###setModel###(Ljavax/swing/ComboBoxModel;)V
#b#c
+#!#d###gui/AccessPointConfPanel$1##f###(Lgui/AccessPointConfPanel;)V
###h
+#g#i###addActionListener##"(Ljava/awt/event/ActionListener;)V
#k#l
+#!#m###add##*(Ljava/awt/Component;)Ljava/awt/Component;
#o#p
+###q## setBounds###(IIII)V
#s#t
+#!#u
+#&#W###ACCESS POINT NUMBER: ##x###setText###(Ljava/lang/String;)V
#z#{
+#&#|
+#&#u
+#+#W###1##�
+#+#|###gui/AccessPointConfPanel$2##�
+#�#i
+#+#m###gui/AccessPointConfPanel$3##�
+#�#i###addFocusListener##!(Ljava/awt/event/FocusListener;)V
#�#�
+#+#�
+#+#u###ACCESS POINT LOCATION:##�###INITIAL
ENERGY:##�###1000##�###gui/AccessPointConfPanel$4##�
+#�#i###gui/AccessPointConfPanel$5##�
+#�#i###Joules##�###ACCESS POINT APPLICATION:##�###CENTER##�###UP LEFT
CORNER##�###DOWN LEFT CORNER##�###UP RIGHT CORNER##�###DOWN RIGHT
CORNER##�###GRID##�###RANDOM##�###gui/AccessPointConfPanel$6##�
+#�#i###TRANSMISSION RANGE##�###100##�###gui/AccessPointConfPanel$7##�
+#�#i###gui/AccessPointConfPanel$8##�
+#�#i###meters##�##.accessPointTransmissionRangeTextFieldFocusLost###(Ljava/awt/eve
nt/FocusEvent;)V###java/awt/event/FocusEvent##�##
getSource###()Ljava/lang/Object;
#�#�
+#�#�###getText###()Ljava/lang/String;
#�#�
+#+#�###length###()I
#�#�
+#\#�###java/lang/Double##�###parseDouble###(Ljava/lang/String;)D
#�#�
+#�#�##gui/MainFrame##�###getTcl###()Lgui/TclFields;
#�#�
+#�#�##gui/TclFields##�###setAccessPointTransmissionRange###(D)V
#�#�
+#�#�##
requestFocus
#�##
+#+#�###java/lang/NumberFormatException##�###evt###Ljava/awt/event/FocusEvent;##
textField###content###Ljava/lang/String;###aux###D###nfe##!
Ljava/lang/NumberFormatException;###accessPointEnergyTextFieldFocusLost###setAccess
PointEnergy
#�#�
+#�#�###accessPointNumberTextFieldFocusLost###java/lang/Integer##�###parseInt###(Lj
ava/lang/String;)I
#�#�
+#�#�###setAccessPointNumber###(I)V
#�#�
+#�#�###I##)accessPointNumberTextFieldActionPerformed###(Ljava/awt/event/ActionEven
t;)V##
+getToolkit###()Ljava/awt/Toolkit;
#�#�
+#######java/awt/Toolkit######beep
####
+#######setXMLSaved###(Z)V
####
+#�#

###Ljava/awt/event/ActionEvent;###s##*accessPointLocationComboBoxActionPerformed###
getSelectedItem
###�
+#!#####setAccessPointLocation
###{
+#�####)accessPointEnergyTextFieldActionPerformed##-
accessPointApplicationComboBoxActionPerformed###setAccessPointApplication
###{
+#�####4accessPointTransmissionRangeTextFieldActionPerformed###makeObj##&(Ljava/lan
g/String;)Ljava/lang/Object;###gui/AccessPointConfPanel$9#####/
(Lgui/AccessPointConfPanel;Ljava/lang/String;)V
####
+#######item###setAccessPointNumberTextField###setAccessPointLocationComboBox
####
+###$###addItem###(Ljava/lang/Object;)V
#&#'
+#!#(###setSelectedItem
#*#'
+#!#+###setAccessPointEnergyTextField##!
setAccessPointApplicationComboBox##(setAccessPointTransmissionRangeTextField##
updateFields###(Lgui/TclFields;)V###getAccessPointLocation
#2#�
+#�#3
###{
+###5###getAccessPointNumber
#7#�
+#�#8###valueOf###(I)Ljava/lang/String;
#:#;
+#\#<
#"#{
+###>###getAccessPointEnergy###()D
#@#A
+#�#B###(D)Ljava/lang/String;
#:#D
+#\#E
#-#{
+###G###getAccessPointApplication
#I#�
+#�#J
#.#{
+###L###getAccessPointTransmissionRange
#N#A
+#�#O
#/#{
+###Q###tcl###Lgui/TclFields;###access$0##9(Lgui/AccessPointConfPanel;Ljava/awt/eve
nt/ActionEvent;)V## Synthetic
###�
+###X###access$1
#�#�
+###[###access$2##8(Lgui/AccessPointConfPanel;Ljava/awt/event/FocusEvent;)V
#�#�
+###_###access$3
###�
+###b###access$4
#�#�
+###e###access$5
##�
+###h###access$6
###�
+###k###access$7
#�#�
+###n##
+SourceFile###AccessPointConfPanel.java##
InnerClasses#!#######
################### #######
+#######
##########################################################################;#######
*�##*�##�#############################
##### ###########################�*�#!
Y�#"�#$*�#&Y�#'�#)*�#+Y�#,�#.*�#&Y�#'�#0*�#&Y�#'�#2*�#+Y�#,�#4*�#&Y�#'�#6*�#&Y�#'�#
8*�#!
Y�#"�#:*�#&Y�#'�#<*�#+Y�#,�#>*�#&Y�#'�#@*#�#D*�#FY##�##�##�#I�#M*�#$�#OY#Q###�#T�#X
*�#$�#ZY#�#\Y##^S�#a�#e*�#$�#gY*�#j�#n**�#$�#rW*�#$##�##�#####�#v*�#)�#OY#Q###�#T�#
w*�#)#y�#}**�#)�#rW*�#)#####}##�#~*�#.�#OY#Q###�#T�#*�#.#��#�*�#.�#�Y*�#��#�*�#.�#
�Y*�#��#�**�#.�#rW*�#.##�#######�#�*�#0�#OY#Q###�#T�#w*�#0#��#}**�#0�#rW*�#0###<##�
##�#~*�#2�#OY#Q###�#T�#w*�#2#��#}**�#2�#rW*�#2###d#Q##�#~*�#4�#OY#Q###�#T�#*�#4#��
#�*�#4�#�Y*�#��#�*�#4�#�Y*�#��#�**�#4�#rW*�#4##�#d##�##�#�*�#6�#OY#Q###�#T�#w*�#6#�
�#}**�#6�#rW*�#6##�#d####�#~*�#8�#OY#Q###�#T�#w*�#8#��#}**�#8�#rW*�#8####�##�##�#~*
�#:�#OY#Q###�#T�#X*�#:�#ZY##�#\Y##�SY##�SY##�SY##�SY##�SY##�SY###�S�#a�#e*�#:�#�Y*�
#��#n**�#:�#rW*�#:##�#<#####�#v*�#<�#OY#Q###�#T�#w*�#<#��#}**�#<�#rW*�#<####�#s##�#
~*�#>�#OY#Q###�#T�#*�#>#��#�*�#>�#�Y*�#��#�*�#>�#�Y*�#��#�**�#>�#rW*�#>##�##�##�##
�#�*�#@�#OY#Q###�#T�#w*�#@#��#}**�#@�#rW*�#@##�##�#!
##�#~�###########G#############!###,###7# #B#!#M#"#X###c#$#n#
%#y#&#�#(#�#*#�#+#�#,#�#-#�#3#�#4#�#6###7##8###9#
%#;#8#<#A#=#P#B#_#H#h#I#y#K#�#L#�#M#�#N#�#P#�#Q#�#R#�#S#�#U#�#V#�#W##\###b#
%#c#6#e#I#f#R#g#[#h#k#j#~#k#�#l#�#m#�#o#�#p#�#q#�#w###x###z#'#{#0#|
#9#}#I##\#�#e#�#t#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#####
#####�#########�#�#######�#######,+�#��#+M,�#�N-�#˙##-�#�9#�#�##�#‫ݧ‬# :#,�#�#####
%#%#�#######"#####�###�##�###�###�#
%#�#'#�#+#�#####>#####,#########,#�#�#####$#�#####
###�#�#######�#�###'###�#�#####�#�#######�#######,+�#��#+M,�#�N-�#˙##-
�#�9#�#�##�#�# :#,�#�#####%#%#�#######"#####�###�##�###�###�#
%#�#'#�#+#�#####>#####,#########,#�#�#####$#�#####
###�#�#######�#�###'###�#�#####�#�#######�#######,+�#��#+M,�#�N-�#˙##-
�#�6#�#�##�#�# :#,�#�#####%#%#�#######"#####�###�##�###�###�#
%#�#'#�#+#�#####>#####,#########,#�#�#####$#�#####
###�#�#######�#�###'###�#�#####�#�#######�#######5#=*�#.�#�N-�#˙#"-
�#�=�#�#�#�##:#*�##�##*�#.�#�#�#
+�##### # #�#######*#
+###�###�#
+#�###�###�# #�#"#�#)#�#0#�#4#�#####4#####5#########5#�#######3#�#�###
+#+#
#�###"###�#�######�#######Q########�#�*�#:�##�#\�###�#
+�###############�###�###�#######################�#########�#######�#######8#I*�#4�
#�:###�#˙####�#�I�#�(�#�##:#*�##�##*�#4�#�#�#
+�#########�#######*#
+###�###�###�###�###�###�#%#�#,#�#3#�#7#�#####4#####8#########8#�#######6#�#�#####-
#
#�###%###�#�#######�#######Q########�#�*�#$�##�#\�###�#
+�###############�###�###�#######################�#########�#######�#######8#I*�#>�
#�:###�#˙####�#�I�#�(�#‫ݧ‬##:#*�##�##*�#>�#�#�#
+�#########�#######*#
+###�###�###�###�###�###�#%#�#,#�#3#�#7#�#####4#####8#########8#�#######6#�#�#####-
#
#�###%###�#�###############>#######
+�##Y*+�# �###############�###########
+#########
+#!#�#####"#{#######A####### *�#.+�#��#########
+#####�###�########### ######### #
#�#######{#######Q########*�#:*+�#%�#)*�#:+�#,�#################
#############################
#�#####-#{#######A####### *�#4+�#��#########
+##################### ######### #
#�#####.#{#######M########*�#$+�#)*�#$+�#,�###################
##########################
#�#####/#{#######A####### *�#>+�#��#########
+##################### ######### #
#�#####0#1#######z#######2*+�#4�#6*+�#9�#=�#?
*+�#C�#F�#H*+�#K�#M*+�#P�#F�#R�#############################&###1#############2####
#####2#S#T#####U#V###W#########&########*+�#Y�###############�###########Z#V###W###
######&########*+�#\�###############�###########]#^###W#########&########*+�#`�####
###########�###########a#V###W#########&########*+�#c�###############�###########d#
^###W#########&########*+�#f�###############�###########g#V###W#########&########*+
�#i�###############�###########j#V###W#########&########*+�#l�###############�#####
######m#^###W#########&########*+�#o�###############�###########p#####q#r###J#
#g#######�#######�#######�#######�#######�#######�#######�##############
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.form ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.form
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.form 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.form 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ </Properties>
+ <AuxValues>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer"
value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-
19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,1
10,65,-114,-39,-41,-
84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112
,0,0,0,-25,0,0,2,62"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
+ <Property name="useNullLayout" type="boolean" value="true"/>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JComboBox"
name="accessPointApplicationComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="Application/AccessPointApplication"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="accessPointApplicationComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="140" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="accessPointNumberLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="ACCESS POINT NUMBER:
"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="accessPointNumberTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="1"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="accessPointNumberTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="accessPointNumberTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="20" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="accessPointLocationLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="ACCESS POINT
LOCATION:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="60" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="accessPointEnergyLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="INITIAL ENERGY:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="100" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="accessPointEnergyTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="1000"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="accessPointEnergyTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="accessPointEnergyTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="100" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="joulesLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Joules"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="450" y="100" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="accessPointApplicationLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="ACCESS POINT
APPLICATION:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="140" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="accessPointLocationComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="7">
+ <StringItem index="0" value="CENTER"/>
+ <StringItem index="1" value="UP LEFT CORNER"/>
+ <StringItem index="2" value="DOWN LEFT CORNER"/>
+ <StringItem index="3" value="UP RIGHT CORNER"/>
+ <StringItem index="4" value="DOWN RIGHT CORNER"/>
+ <StringItem index="5" value="GRID"/>
+ <StringItem index="6" value="RANDOM"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="accessPointLocationComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="60" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel"
name="accessPointTransmissionRangeLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="TRANSMISSION RANGE"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="180" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField"
name="accessPointTransmissionRangeTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="100"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="accessPointTransmissionRangeTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="accessPointTransmissionRangeTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="180" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="metersLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="meters"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="450" y="180" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+</Form>
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.java ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.java
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.java 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/AccessPointConfPanel.java 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,298 @@
+/*
+ * accessPointConfPanel.java
+ *
+ * Created on 24 de Novembro de 2005, 19:35
+ */
+
+package gui;
+
+/**
+ *
+ * @author Helen Peters
+ */
+public class AccessPointConfPanel extends javax.swing.JPanel {
+
+ /** Creates new form accessPointConfPanel */
+ public AccessPointConfPanel() {
+ initComponents();
+ }
+
+ /** This method is called from within the constructor to
+ * initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is
+ * always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
+ private void initComponents() {
+ accessPointApplicationComboBox = new javax.swing.JComboBox();
+ accessPointNumberLabel = new javax.swing.JLabel();
+ accessPointNumberTextField = new javax.swing.JTextField();
+ accessPointLocationLabel = new javax.swing.JLabel();
+ accessPointEnergyLabel = new javax.swing.JLabel();
+ accessPointEnergyTextField = new javax.swing.JTextField();
+ joulesLabel = new javax.swing.JLabel();
+ accessPointApplicationLabel = new javax.swing.JLabel();
+ accessPointLocationComboBox = new javax.swing.JComboBox();
+ accessPointTransmissionRangeLabel = new javax.swing.JLabel();
+ accessPointTransmissionRangeTextField = new javax.swing.JTextField();
+ metersLabel = new javax.swing.JLabel();
+
+ setLayout(null);
+
+ setBackground(new java.awt.Color(240, 238, 231));
+ accessPointApplicationComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ accessPointApplicationComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[]
{ "Application/AccessPointApplication" }));
+ accessPointApplicationComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ accessPointApplicationComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(accessPointApplicationComboBox);
+ accessPointApplicationComboBox.setBounds(210, 140, 270, 22);
+
+ accessPointNumberLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ accessPointNumberLabel.setText("ACCESS POINT NUMBER: ");
+ add(accessPointNumberLabel);
+ accessPointNumberLabel.setBounds(20, 20, 125, 14);
+
+ accessPointNumberTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ accessPointNumberTextField.setText("1");
+ accessPointNumberTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ accessPointNumberTextFieldActionPerformed(evt);
+ }
+ });
+ accessPointNumberTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ accessPointNumberTextFieldFocusLost(evt);
+ }
+ });
+
+ add(accessPointNumberTextField);
+ accessPointNumberTextField.setBounds(210, 20, 270, 19);
+
+ accessPointLocationLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ accessPointLocationLabel.setText("ACCESS POINT LOCATION:");
+ add(accessPointLocationLabel);
+ accessPointLocationLabel.setBounds(20, 60, 132, 14);
+
+ accessPointEnergyLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ accessPointEnergyLabel.setText("INITIAL ENERGY:");
+ add(accessPointEnergyLabel);
+ accessPointEnergyLabel.setBounds(20, 100, 81, 14);
+
+ accessPointEnergyTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ accessPointEnergyTextField.setText("1000");
+ accessPointEnergyTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ accessPointEnergyTextFieldActionPerformed(evt);
+ }
+ });
+ accessPointEnergyTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ accessPointEnergyTextFieldFocusLost(evt);
+ }
+ });
+
+ add(accessPointEnergyTextField);
+ accessPointEnergyTextField.setBounds(210, 100, 220, 19);
+
+ joulesLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ joulesLabel.setText("Joules");
+ add(joulesLabel);
+ joulesLabel.setBounds(450, 100, 31, 20);
+
+ accessPointApplicationLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ accessPointApplicationLabel.setText("ACCESS POINT APPLICATION:");
+ add(accessPointApplicationLabel);
+ accessPointApplicationLabel.setBounds(20, 140, 146, 14);
+
+ accessPointLocationComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ accessPointLocationComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[] { "CENTER", "UP LEFT CORNER", "DOWN
LEFT CORNER", "UP RIGHT CORNER", "DOWN RIGHT CORNER", "GRID", "RANDOM" }));
+ accessPointLocationComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ accessPointLocationComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(accessPointLocationComboBox);
+ accessPointLocationComboBox.setBounds(210, 60, 270, 22);
+
+ accessPointTransmissionRangeLabel.setFont(new java.awt.Font("Arial", 0,
11));
+ accessPointTransmissionRangeLabel.setText("TRANSMISSION RANGE");
+ add(accessPointTransmissionRangeLabel);
+ accessPointTransmissionRangeLabel.setBounds(20, 180, 115, 14);
+
+ accessPointTransmissionRangeTextField.setFont(new java.awt.Font("Arial",
0, 11));
+ accessPointTransmissionRangeTextField.setText("100");
+ accessPointTransmissionRangeTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ accessPointTransmissionRangeTextFieldActionPerformed(evt);
+ }
+ });
+ accessPointTransmissionRangeTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ accessPointTransmissionRangeTextFieldFocusLost(evt);
+ }
+ });
+
+ add(accessPointTransmissionRangeTextField);
+ accessPointTransmissionRangeTextField.setBounds(210, 180, 220, 19);
+
+ metersLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ metersLabel.setText("meters");
+ add(metersLabel);
+ metersLabel.setBounds(450, 180, 33, 20);
+
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void
accessPointTransmissionRangeTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_accessPointTransmissionRangeTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setAccessPointTransmissionRange(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_accessPointTransmissionRangeTextFieldFocusLost
+
+ private void accessPointEnergyTextFieldFocusLost(java.awt.event.FocusEvent
evt) {//GEN-FIRST:event_accessPointEnergyTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setAccessPointEnergy(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_accessPointEnergyTextFieldFocusLost
+
+ private void accessPointNumberTextFieldFocusLost(java.awt.event.FocusEvent
evt) {//GEN-FIRST:event_accessPointNumberTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ int aux = Integer.parseInt(content);
+ MainFrame.getTcl().setAccessPointNumber(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_accessPointNumberTextFieldFocusLost
+
+ private void
accessPointNumberTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_accessPointNumberTextFieldActionPerformed
+
+ int aux = 0;
+ String s = accessPointNumberTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Integer.parseInt(s);
+ MainFrame.getTcl().setAccessPointNumber(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ accessPointNumberTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_accessPointNumberTextFieldActionPerformed
+
+ private void
accessPointLocationComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_accessPointLocationComboBoxActionPerformed
+
+ MainFrame.getTcl().setAccessPointLocation((String)
accessPointLocationComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_accessPointLocationComboBoxActionPerformed
+
+ private void
accessPointEnergyTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_accessPointEnergyTextFieldActionPerformed
+
+ double aux = 0;
+ String s = accessPointEnergyTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setAccessPointEnergy(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ accessPointEnergyTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_accessPointEnergyTextFieldActionPerformed
+
+ private void
accessPointApplicationComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_accessPointApplicationComboBoxActionPerformed
+
+ MainFrame.getTcl().setAccessPointApplication((String)
accessPointApplicationComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_accessPointApplicationComboBoxActionPerformed
+
+ private void
accessPointTransmissionRangeTextFieldActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_accessPointTransmissionRangeTextFieldActionPerformed
+
+ double aux = 0;
+ String s = accessPointTransmissionRangeTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setAccessPointTransmissionRange(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ accessPointTransmissionRangeTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_accessPointTransmissionRangeTextFieldActionPerformed
+
+ private Object makeObj(final String item) {
+ return new Object() { public String toString() { return item; } };
+ }
+
+ private void setAccessPointNumberTextField(String s){
+ accessPointNumberTextField.setText(s);
+ }
+
+ private void setAccessPointLocationComboBox(String s) {
+ accessPointLocationComboBox.addItem(makeObj(s));
+ accessPointLocationComboBox.setSelectedItem(s);
+ }
+
+ private void setAccessPointEnergyTextField(String s){
+ accessPointEnergyTextField.setText(s);
+ }
+
+ private void setAccessPointApplicationComboBox(String s) {
+ accessPointApplicationComboBox.addItem(s);
+ accessPointApplicationComboBox.setSelectedItem(s);
+ }
+
+ private void setAccessPointTransmissionRangeTextField(String s){
+ accessPointTransmissionRangeTextField.setText(s);
+ }
+
+ public void updateFields(TclFields tcl){
+ setAccessPointLocationComboBox(tcl.getAccessPointLocation());
+ setAccessPointNumberTextField(String.valueOf(tcl.getAccessPointNumber()));
+ setAccessPointEnergyTextField(String.valueOf(tcl.getAccessPointEnergy()));

+ setAccessPointApplicationComboBox(tcl.getAccessPointApplication());
+
setAccessPointTransmissionRangeTextField(String.valueOf(tcl.getAccessPointTransmiss
ionRange()));
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JComboBox accessPointApplicationComboBox;
+ private javax.swing.JLabel accessPointApplicationLabel;
+ private javax.swing.JLabel accessPointEnergyLabel;
+ private javax.swing.JTextField accessPointEnergyTextField;
+ private javax.swing.JComboBox accessPointLocationComboBox;
+ private javax.swing.JLabel accessPointLocationLabel;
+ private javax.swing.JLabel accessPointNumberLabel;
+ private javax.swing.JTextField accessPointNumberTextField;
+ private javax.swing.JLabel accessPointTransmissionRangeLabel;
+ private javax.swing.JTextField accessPointTransmissionRangeTextField;
+ private javax.swing.JLabel joulesLabel;
+ private javax.swing.JLabel metersLabel;
+ // End of variables declaration//GEN-END:variables
+
+}
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$10.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$10.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$10.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$10.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$10######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$10;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel######access$9##3
(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$11.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$11.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$11.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$11.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/BasicConfPanel$11######java/awt/event/FocusAdapter######this$0###Lgui/BasicC
onfPanel;## Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$11;##
focusLost###(Ljava/awt/event/FocusEvent;)V###gui/BasicConfPanel#####
access$10##2(Lgui/BasicConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####�#########
#####
+###############
+###A####### *�##+�##�#########
+#####�###�########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$12.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$12.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$12.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$12.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$12######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$12;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$11##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$13.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$13.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$13.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$13.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$13######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$13;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$12##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$14.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$14.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$14.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$14.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$14######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$14;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$13##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$15.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$15.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$15.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$15.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$15######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$15;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$14##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+###############
#####
+###############
###A####### *�##+�##�#########
+##################### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$16.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$16.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$16.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$16.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$16######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$16;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$15##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+###############
#####
+###############
###A####### *�##+�##�#########
+##################### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$17.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$17.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$17.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$17.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$17######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$17;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$16##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####%#########
#####
+###############
###A####### *�##+�##�#########
+#####'###(########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$18.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$18.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$18.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$18.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$18######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$18;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$17##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####B#########
#####
+###############
###A####### *�##+�##�#########
+#####D###E########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$19.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$19.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$19.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$19.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$19######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$19;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$18##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####X#########
#####
+###############
###A####### *�##+�##�#########
+#####Z###[########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$1.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$1.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$1.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$1.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$1######java/lang/Object######java/awt/event/ActionL
istener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$1;###actio
nPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel######access$0##3(
Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####J#########
#####
+###############
###A####### *�##+�##�#########
+#####L###M########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$20.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$20.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$20.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$20.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/BasicConfPanel$20######java/awt/event/FocusAdapter######this$0###Lgui/BasicC
onfPanel;## Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$20;##
focusLost###(Ljava/awt/event/FocusEvent;)V###gui/BasicConfPanel#####
access$19##2(Lgui/BasicConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####]#########
#####
+###############
+###A####### *�##+�##�#########
+#####_###`########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$21.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$21.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$21.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$21.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$21######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$21;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$20##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####r#########
#####
+###############
###A####### *�##+�##�#########
+#####t###u########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$22.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$22.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$22.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$22.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/BasicConfPanel$22######java/awt/event/FocusAdapter######this$0###Lgui/BasicC
onfPanel;## Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$22;##
focusLost###(Ljava/awt/event/FocusEvent;)V###gui/BasicConfPanel#####
access$21##2(Lgui/BasicConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####w#########
#####
+###############
+###A####### *�##+�##�#########
+#####y###z########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$23.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$23.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$23.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$23.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$23######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$23;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$22##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$24.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$24.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$24.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$24.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$24######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$24;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$23##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$25.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$25.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$25.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$25.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$25######java/lang/Object######java/awt/event/Action
Listener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$25;###acti
onPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel#####
access$24##3(Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$2.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$2.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$2.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$2.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/BasicConfPanel$2######java/awt/event/FocusAdapter######this$0###Lgui/BasicCo
nfPanel;## Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
####
+###
#### #######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$2;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/BasicConfPanel######access$1##2(Lg
ui/BasicConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####O#########
#####
+###############
+###A####### *�##+�##�#########
+#####Q###R########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$3.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$3.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$3.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$3.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$3######java/lang/Object######java/awt/event/ActionL
istener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$3;###actio
nPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel######access$2##3(
Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####`#########
#####
+###############
###A####### *�##+�##�#########
+#####b###c########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$4.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$4.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$4.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$4.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$4######java/lang/Object######java/awt/event/ActionL
istener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$4;###actio
nPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel######access$3##3(
Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####p#########
#####
+###############
###A####### *�##+�##�#########
+#####r###s########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$5.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$5.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$5.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$5.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/BasicConfPanel$5######java/awt/event/FocusAdapter######this$0###Lgui/BasicCo
nfPanel;## Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
####
+###
#### #######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$5;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/BasicConfPanel######access$4##2(Lg
ui/BasicConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####u#########
#####
+###############
+###A####### *�##+�##�#########
+#####w###x########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$6.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$6.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$6.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$6.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$6######java/lang/Object######java/awt/event/ActionL
istener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$6;###actio
nPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel######access$5##3(
Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$7.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$7.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$7.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$7.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/BasicConfPanel$7######java/awt/event/FocusAdapter######this$0###Lgui/BasicCo
nfPanel;## Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
####
+###
#### #######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$7;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/BasicConfPanel######access$6##2(Lg
ui/BasicConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####�#########
#####
+###############
+###A####### *�##+�##�#########
+#####�###�########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$8.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$8.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$8.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$8.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$8######java/lang/Object######java/awt/event/ActionL
istener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$8;###actio
nPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel######access$7##3(
Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$9.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$9.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$9.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel$9.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/BasicConfPanel$9######java/lang/Object######java/awt/event/ActionL
istener######this$0###Lgui/BasicConfPanel;##
Synthetic###<init>###(Lgui/BasicConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel$9;###actio
nPerformed###(Ljava/awt/event/ActionEvent;)V###gui/BasicConfPanel######access$8##3(
Lgui/BasicConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###BasicConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.class 2006-05-26
11:29:05.000000000 -0300
@@ -0,0 +1,239 @@
+���###.#j###gui/BasicConfPanel######javax/swing/JPanel######antennaComboBox###Ljav
ax/swing/JComboBox;##
antennaLabel###Ljavax/swing/JLabel;###batteryComboBox##
batteryLabel##
buttonGroup1###Ljavax/swing/ButtonGroup;###channelTypeLabel###channelTypeTextField#
##Ljavax/swing/JTextField;###ifqComboBox###ifqLabel###ifqLenLabel###ifqLenTextField
##
linkComboBox## linkLabel###macLabel###macLayerComboBox##
metersLabel1##
metersLabel2###phyComboBox###phyLabel###propagationComboBox###propagationLabel###ro
utingProtocolComboBox###routingProtocolLabel###scenarySizeLenLabel###scenarySizeXTe
xtField###scenarySizeYTextField###simulationTimeLabel##
+startLabel###startTextField## stopLabel##
stopTextField###traceAgentRadioButton###Ljavax/swing/JRadioButton;###traceFileCheck
Box###Ljavax/swing/JCheckBox;###traceFileNameTextField##
+traceLabel###traceMacRadioButton###traceRouteRadioButton###transportComboBox###tra
nsportLabel###xLabel###<init>###()V###Code
#3#4
+###6###initComponents
#8#4
+###9###LineNumberTable###LocalVariableTable###this###Lgui/BasicConfPanel;###javax/
swing/ButtonGroup##?
+#@#6
###
###B###javax/swing/JTextField##D
+#E#6
#,## ###G###javax/swing/JCheckBox##I
+#J#6
#*#+ ###L###javax/swing/JLabel##N
+#O#6
# ## ###Q
#!## ###S
#### ###U
#2## ###W
#"## ###Y
#### ###[###javax/swing/JComboBox##]
+#^#6
# ## ###`
#
+## ###b
#### ###d
#### ###f
#### ###h
#### ###j
#### ###l
#### ###n
#### ###p
#### ###r
#### ###t
#### ###v
#### ###x
#### ###z
#### ###|
#### ###~
#### ###�
#### ###�
### ###�
#### ###�
#0## ###�
#1## ###�
#### ###�
#%## ###�
#$## ###�
#&## ###�
#'## ###�
#-## ###�###javax/swing/JRadioButton##�
+#�#6
#.#) ###�
#/#) ###�
#(#) ###�## setLayout###(Ljava/awt/LayoutManager;)V
#�#�
+###�###java/awt/Color##�###(III)V
#3#�
+#�#�##setBackground###(Ljava/awt/Color;)V
#�#�
+###�##java/awt/Font##�###Arial##�###(Ljava/lang/String;II)V
#3#�
+#�#�###setFont###(Ljava/awt/Font;)V
#�#�
+#E#�###trace.tr##�###setText###(Ljava/lang/String;)V
#�#�
+#E#�###gui/BasicConfPanel$1##�###(Lgui/BasicConfPanel;)V
#3#�
+#�#�###addActionListener##"(Ljava/awt/event/ActionListener;)V
#�#�
+#E#�###gui/BasicConfPanel$2##�
+#�#�###addFocusListener##!(Ljava/awt/event/FocusListener;)V
#�#�
+#E#�###add##*(Ljava/awt/Component;)Ljava/awt/Component;
#�#�
+###�## setBounds###(IIII)V
#�#�
+#E#�
+#J#�
+#J#�###setSelected###(Z)V
#�#�
+#J#�###TRACE FILE NAME:##�
+#J#�###javax/swing/BorderFactory##�###createEmptyBorder##!
(IIII)Ljavax/swing/border/Border;
#�#�
+#�#�## setBorder###(Ljavax/swing/border/Border;)V
#�#�
+#J#�##
setFocusable
#�#�
+#J#�###setHorizontalAlignment###(I)V
#�#�
+#J#�###java/awt/Insets##�
#3#�
+#�#�## setMargin###(Ljava/awt/Insets;)V
#�#�
+#J#�###gui/BasicConfPanel$3##�
+#�#�
+#J#�
+#J#�
+#O#�##SCENARY SIZE:##�
+#O#�
+#O#�###100######gui/BasicConfPanel$4###
+###�###gui/BasicConfPanel$5###
+# #�###meters######x#####gui/BasicConfPanel$6###
+###�###gui/BasicConfPanel$7###
+###�
+#^#�##
javax/swing/DefaultComboBoxModel######java/lang/String######EnergyModel/Battery####
##([Ljava/lang/Object;)V
#3##
+#######setModel###(Ljavax/swing/ComboBoxModel;)V
###
+#^#!###gui/BasicConfPanel$8###
+#$#�
+#^#�
+#^#�###BATTERY:##(###white###Ljava/awt/Color;
#*#+ #�#,
+#O#�###ROUTING PROTOCOL:##/###AODV##1###DSR##3###TORA##5###LEACH##7###DIRECTED
DIFFUSION##9###DSDV##;###gui/BasicConfPanel$9##=
+#>#�###gui/BasicConfPanel$10##@
+#A#�###gui/BasicConfPanel$11##C
+#D#�###IFQ LENGTH:##F###INTERFACE QUEUE (IFQ):##H###Queue/DropTail/PriQueue##J##
Queue/RED##L###Queue/RED/Pushback##N##
Queue/RED/RIO##P###Queue/DropTail##R###Queue/Vq##T##
Queue/XCP##V###Queue/DropTail/XCP##X###gui/BasicConfPanel$12##Z
+#[#�###Propagation/TwoRayGround##]###Propagation/Shadowing##_###Propagation/Shadow
ingVis##a###Propagation/FreeSpace##c###gui/BasicConfPanel$13##e
+#f#�###RADIO
PROPAGATION:##h###ANTENNA:##j###Antena/OmniAntenna##l###gui/BasicConfPanel$14##n
+#o#�###Phy/WirelessPhy - Mica2##q##,Phy/WirelessPhy - 914MHz Lucent WaveLAN
DSSS##s###gui/BasicConfPanel$15##u
+#v#�###PHYSYCAL LAYER:##x###LINK:##z###LL##|###gui/BasicConfPanel$16##~
+##�##
+Mac/802_11##�###gui/BasicConfPanel$17##�
+#�#�###MAC:##�##CHANNEL TYPE:##�
+#E#�###setEditable
#�#�
+#E#�###Channel/WirelessChannel##�###setDisabledTextColor
#�#�
+#E#�###UDP##�###TCP##�###gui/BasicConfPanel$18##�
+#�#�###TRANSPORT PROTOCOL:##�###SIMULATION
TIME:##�###1##�###gui/BasicConfPanel$19##�
+#�#�###gui/BasicConfPanel$20##�
+#�#�###START:##�###STOP:##�###gui/BasicConfPanel$21##�
+#�#�###gui/BasicConfPanel$22##�
+#�#�###TRACE:##�
+#�#�
+#�#�
+#�#�## TRACE-MAC##�
+#�#�
+#�#�
+#�#�###gui/BasicConfPanel$23##�
+#�#�
+#�#�
+#�#�###TRACE-ROUTE##�###gui/BasicConfPanel$24##�
+#�#�###TRACE-AGENT##�###gui/BasicConfPanel$25##�
+#�#�###stopTextFieldFocusLost###(Ljava/awt/event/FocusEvent;)V###java/awt/event/Fo
cusEvent##�## getSource###()Ljava/lang/Object;
#�#�
+#�#�###getText###()Ljava/lang/String;
#�#�
+#E#�###length###()I
#�#�
+###�###java/lang/Double##�###parseDouble###(Ljava/lang/String;)D
#�#�
+#�#�##gui/MainFrame##�###getTcl###()Lgui/TclFields;
#�#�
+#�#�##gui/TclFields##�###setSimulationStop###(D)V
#�#�
+#�#�##
requestFocus
#�#4
+#E#�###java/lang/NumberFormatException##�###evt###Ljava/awt/event/FocusEvent;##
textField###content###Ljava/lang/String;###aux###D###nfe##!
Ljava/lang/NumberFormatException;###traceFileNameTextFieldFocusLost###setTraceFileN
ame
#�#�
+#�#�###startTextFieldFocusLost###setSimulationStart
#�#�
+#�#�###scenarySizeXTextFieldFocusLost###java/lang/Integer######parseInt###(Ljava/l
ang/String;)I
####
+######
setScenarioX
###�
+#�# ###I###scenarySizeYTextFieldFocusLost##
setScenarioY
##�
+#�#####ifqLenTextFieldFocusLost## setIfqLen
###�
+#�#####stopTextFieldActionPerformed###(Ljava/awt/event/ActionEvent;)V##
+getToolkit###()Ljava/awt/Toolkit;
####
+#######java/awt/Toolkit######beep
###4
+#######setXMLSaved
###�
+#�#
###Ljava/awt/event/ActionEvent;###time###s###startTextFieldActionPerformed##$traceA
gentRadioButtonActionPerformed##
+isSelected###()Z
#'#(
+#�#)##setTraceAgent
#+#�
+#�#,##$traceRouteRadioButtonActionPerformed##setTraceRoute
#/#�
+#�#0##"traceMacRadioButtonActionPerformed###setTraceMac
#3#�
+#�#4##%traceFileNameTextFieldActionPerformed## traceFileCheckBoxActionPerformed
+#J#)##
setTraceFile
#9#�
+#�#:##$scenarySizeYTextFieldActionPerformed###size##$scenarySizeXTextFieldActionPe
rformed###batteryComboBoxActionPerformed###getSelectedItem
#@#�
+#^#A##
+setBattery
#C#�
+#�#D###ifqLenTextFieldActionPerformed###ifqLen###ifqComboBoxActionPerformed###setI
fq
#I#�
+#�#J##"propagationComboBoxActionPerformed###setPropagation
#M#�
+#�#N###antennaComboBoxActionPerformed##
+setAntenna
#Q#�
+#�#R###phyComboBoxActionPerformed###setPhyLayer
#U#�
+#�#V###linkComboBoxActionPerformed##
setLinkLayer
#Y#�
+#�#Z###macLayerComboBoxActionPerformed###setMacLayer
#]#�
+#�#^##&routingProtocolComboBoxActionPerformed###toLowerCase
#a#�
+###b###setRoutingProtocol
#d#�
+#�#e###leach##g## compareTo
#i##
+###j##.Application/AccessPointApp/AccessPointLeachApp##l###setAccessPointApplicati
on
#n#�
+#�#o##0Application/SensorBaseApp/CommonNodeApp/LeachApp##q###setCommonNodeApplicat
ion
#s#�
+#�#t## mainFrame###Lgui/MainFrame;
#v#w #�#x###getClusterHeadConfButton###()Ljavax/swing/JButton;
#z#{
+#�#|###javax/swing/JButton##~##
+setEnabled
#�#�
+##�###dd##�###directed
diffusion##�###directeddiffusion##�###Application/AccessPointDiffApp##�##+Applicati
on/SensorBaseApp/CommonNodeDiffApp##�###sl##
transportComboBoxActionPerformed###setTransportProtocol
#�#�
+#�#�###setTraceFileNameTextField###setTraceFileCheckBox###b###Z###setScenarySizeYT
extField###setScenarySizeXTextField###setBatteryComboBox###addItem###(Ljava/lang/Ob
ject;)V
#�#�
+#^#�###setSelectedItem
#�#�
+#^#�###setIfqLenTextField###setIfqComboBox###setPropagationComboBox###setAntennaCo
mboBox###setPhyComboBox###setLinkComboBox###setMacLayerComboBox###setRoutingProtoco
lComboBox###setTransportComboBox###setTraceMacRadioButton###setTraceRouteRadioButto
n###setTraceAgentRadioButton###setStartTextField###setStopTextField##
updateFields###(Lgui/TclFields;)V###getTransportProtocol
#�#�
+#�#�
#�#�
+###�###getRoutingProtocol
#�#�
+#�#�
#�#�
+###�###getMacLayer
#�#�
+#�#�
#�#�
+###�##
getLinkLayer
#�#�
+#�#�
#�#�
+###�###getPhyLayer
#�#�
+#�#�
#�#�
+###�##
+getAntenna
#�#�
+#�#�
#�#�
+###�###getPropagation
#�#�
+#�#�
#�#�
+###�###getIfq
#�#�
+#�#�
#�#�
+###�## getIfqLen
#�#�
+#�#�###valueOf###(I)Ljava/lang/String;
#�#�
+###�
#�#�
+###�##
+getBattery
#�#�
+#�#�
#�#�
+###�##
getScenarioX###()D
#�#�
+#�#�###(D)Ljava/lang/String;
#�#�
+###�
#�#�
+###�##
getScenarioY
#�#�
+#�#�
#�#�
+###�###getTraceFileName
#�#�
+#�#�
#�#�
+###�###isTraceFile
#�#(
+#�#�
#�#�
+###�##
+isTraceMac
#�#(
+#�#�
#�#�
+######
isTraceRoute
###(
+#�##
#�#�
+######
isTraceAgent
###(
+#�#
#�#�
+#######getSimulationStart
##�
+#�##
#�#�
+#######getSimulationStop
###�
+#�##
#�#�
+#######tcl###Lgui/TclFields;###access$0##3(Lgui/BasicConfPanel;Ljava/awt/event/Act
ionEvent;)V## Synthetic
#6##
+#######access$1##2(Lgui/BasicConfPanel;Ljava/awt/event/FocusEvent;)V
#�#�
+### ###access$2
#7##
+#######access$3
#>##
+###&###access$4
###�
+###)###access$5
#<##
+###,###access$6
#
#�
+###/###access$7
#?##
+###2###access$8
#`##
+###5###access$9
#F##
+###8## access$10
###�
+###;## access$11
#H##
+###>## access$12
#L##
+###A## access$13
#P##
+###D## access$14
#T##
+###G## access$15
#X##
+###J## access$16
#\##
+###M## access$17
#�##
+###P## access$18
#%##
+###S## access$19
#�#�
+###V## access$20
####
+###Y## access$21
#�#�
+###\## access$22
#2##
+###_## access$23
#.##
+###b## access$24
#&##
+###e##
+SourceFile###BasicConfPanel.java##
InnerClasses#!#######(################### #######
+#########
#####
###################################################################################
############################################################ #######!
#######"###############$#######%#######&#######'#######(#)#####*#+#####,#######-
#######.#)#####/#)#####0#######1#######2#####H###3#4###5###;#######
*�#7*�#:�#####;###################<###
##### #=#>#####8#4###5###�######
�*�#@Y�#A�#C*�#EY�#F�#H*�#JY�#K�#M*�#OY�#P�#R*�#EY�#F�#T*�#OY�#P�#V*�#OY�#P�#X*�#EY
�#F�#Z*�#OY�#P�#\*�#^Y�#_�#a*�#OY�#P�#c*�#OY�#P�#e*�#^Y�#_�#g*�#EY�#F�#i*�#OY�#P�#k
*�#OY�#P�#m*�#^Y�#_�#o*�#^Y�#_�#q*�#OY�#P�#s*�#OY�#P�#u*�#^Y�#_�#w*�#^Y�#_�#y*�#OY�
#P�#{*�#OY�#P�#}*�#^Y�#_�#*�#^Y�#_�#�*�#OY�#P�#�*�#OY�#P�#�*�#EY�#F�#�*�#^Y�#_�#�*
�#OY�#P�#�*�#OY�#P�#�*�#EY�#F�#�*�#OY�#P�#�*�#OY�#P�#�*�#EY�#F�#�*�#OY�#P�#�*�#�Y�#
��#�*�#�Y�#��#�*�#�Y�#��#�*#�#�*�#�Y##�##�##�#��#�*�#H�#�Y#�###�#��#�*�#H#��#�*�#H
�#�Y*�#ö#�*�#H�#�Y*�#ʶ#�**�#H�#�W*�#H##�##�#####�#�*�#M�#�Y##�##�##�#��#�*�#M�#�Y#�
###�#��#�*�#M#�#�*�#M# ޶#�*�#M####�#�#�*�#M#�#�*�#M#�#�*�#M�#�Y####�#�#�*�#M�#�Y*�#�
#�**�#M�#�W*�#M####�#m##�#�*�#R�#�Y#�###�#��#�*�#R###�##**�#R�#�W*�#R####�#N##�##*�
#T�#�Y#�###�#��#�*�#T###�#�*�#T�##Y*�##�#�*�#T�# Y*�#
+�#�**�#T�#�W*�#T##r##�#F##�#�*�#V�#�Y#�###�#��#�*�#V##
�##**�#V�#�W*�#V##"##�#!##�##*�#X�#�Y#�###�#��#�*�#X###�##**�#X�#�W*�#X##T##�#
+##�##*�#Z�#�Y#�###�#��#�*�#Z###�#�*�#Z�##Y*�##�#�*�#Z�##Y*�##�#�**�#Z�#�W*�#Z##�##
�#F##�#�*�#\�#�Y#�###�#��#�*�#\##
�##**�#\�#�W*�#\##�##�#!##�##*�#a�#�Y#�###�#��##*�#a�##Y#�##Y####S�##�#"*�#a�#$Y*�#
%�#&**�#a�#�W*�#a##�##�#####�#'*�#c�#�Y#�###�#��#�*�#c##)�##**�#c�#�W*�#c####�#3##�
##*�#e�#-
�#.*�#e�#�Y#�###�#��#�*�#e##0�##**�#e�#�W*�#e###d#k##�##*�#g�#�Y#�###�#��##*�#g�##Y
##�##Y###2SY###4SY###6SY###8SY###:SY###<S�##�#"*�#g�#>Y*�#?
�#&**�#g�#�W*�#g##�#d#####�#'*�#i�#�Y#�###�#��#�*�#i###�#�*�#i�#AY*�#B�#�*�#i�#DY*�
#E�#�**�#i�#�W*�#i##�##|#####�#�*�#k�#�Y#�###�#��#�*�#k##G�##**�#k�#�W*�#k####|
#>##�##*�#m�#�Y#�###�#��#�*�#m##I�##**�#m�#�W*�#m####T#z##�##*�#o�#�Y#�###�#��##*�#
o�##Y##�##Y###KSY###MSY###OSY###QSY###SSY###USY####WSY####YS�##�#"*�#o�#[Y*�#\�#&**
�#o�#�W*�#o##�##T#####�#'*�#q�#�Y#�###�#��##*�#q�##Y#�##Y###^SY###`SY###bSY###dS�##
�#"*�#q�#fY*�#g�#&**�#q�#�W*�#q##�##,#####�#'*�#s�#�Y#�###�#��#�*�#s##i�##**�#s�#�W
*�#s####,#p##�##*�#u�#�Y#�###�#��#�*�#u##k�##**�#u�#�W*�#u######4##�##*�#w�#�Y#�###
�#��##*�#w�##Y#�##Y###mS�##�#"*�#w�#oY*�#p�#&**�#w�#�W*�#w##�########�#'*�#y�#�Y#�#
##�#��##*�#y�##Y#�##Y###rSY###tS�##�#"*�#y�#vY*�#w�#&**�#y�#�W*�#y##�##�#####�#'*�#
{�#�Y#�###�#��#�*�#{##y�##**�#{�#�W*�#{####�#b##�##*�#}�#�Y#�###�#��#�*�#}##{�##**�
#}�#�W*�#}####�####�##*�# �#�Y#�###�#��##*�# �##Y#�##Y###}S�##�#"*�# �# Y*�#��#&**�
# �#�W*�# ##�##�#####�#'*�#��#�Y#�###�#��##*�#��##Y#�##Y###�S�##�#"*�#��#�Y*�#��#&*
*�#��#�W*�#�##�##�#####�#'*�#��#�Y#�###�#��#�*�#�##��##**�#��#�W*�#�####�####�##*�#
��#�Y#�###�#��#�*�#�##��##**�#��#�W*�#�#####P##�##*�#��#�Y##�##�##�#��#�*�#�#�#�*�#
��#�Y#�###�#��#�*�#�##��#�*�#��#�Y##�##�##��#��#�**�#��#�W*�#�##�#######�#�*�#��#�
Y#�###�#��##*�#��##Y#�##Y###�SY###�S�##�#"*�#��#�Y*�#��#&**�#��#�W*�#�##�#<#####�#'
*�#��#-
�#.*�#��#�Y#�###�#��#�*�#�##��##**�#��#�W*�#�###<# ##�##*�#��#�Y#�###�#��#�*�#�##��
##**�#��#�W*�#�####D#Y##�##*�#��#�Y#�###�#��#�*�#�##��#�*�#��#�Y*�#��#�*�#��#�Y*�#�
�#�**�#��#�W*�#�##�##D#Z##�#�*�#��#�Y#�###�#��#�*�#�##��##**�#��#�W*�#�##�##D#
%##�##*�#��#�Y#�###�#��#�*�#�##��##**�#��#�W*�#�##h##D####�##*�#��#�Y#�###�#��#�*�#
�###�#�*�#��#�Y*�#��#�*�#��#�Y*�#��#�**�#��#�W*�#�##�##D#Z##�#�*�#��#�Y#�###�#��#�
*�#�##��##**�#��#�W*�#�######
%##�##*�#��#�Y##�##�##�#��#�*�#��#�Y#�###�#��#�*�#�#�#�*�#�##��#�*�#�####�#�#�*�#�
�#�Y####�#�#�*�#��#�Y*�#��#�**�#��#�W*�#�##�####O##�#�*�#��#�Y##�##�##�#��#�*�#��#�
Y#�###�#��#�*�#�#�#�*�#�##�#�*�#�####�#�#�*�#��#�Y####�#�#�*�#��#�Y*�#ö#�**�#��#�W*
�#�##,####Y##�#�*�#��#�Y##�##�##�#��#�*�#��#�Y#�###�#��#�*�#�#�#�*�#�##Ŷ#�*�#�####�
#�#�*�#��#�Y####�#�#�*�#��#�Y*�#ȶ#�**�#��#�W*�#�##�####[##�#��#####;###�#�#########
####!###,# #7#!#B#"#M###X#$#c#%#n#&#y#'#�#(#�#)#�#*#�#+#�#,#�#-
#�#.#�#/#�#0#�#1#�#2#�#3###4###5###6#)#7#4#8#?#9#J#:#U#;#`#<#k#=#v#>#�#?
#�#@#�#A#�#B#�#C#�#E#�#G#�#H#�#I#�#J#�#O###U###V#&#X#=#Y#P#Z#X#[#a#\#o#]#w#^##_#�#
`#�#f#�#g#�#i#�#j#�#k#�#l#�#n###o#
#p###u#*#{#3#|
#D#~#W##a#�#j#�#{#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�#$#�#-
#�#>#�#Q#�#i#�#x#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�#R#�#a#�#j#�#{#�#
�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�#$#�#-
#�#=#�#P#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�#&#�#9#�#C#�#L#�#\#�#o#�#y#�#�#�#�#�#�#�#
�#�#�###�###�###�#######'###0#
#B###U###_###h###x###�###�###�###�###�###�###�# #�#! ### ##$ .#% =#+ F#,
X#. k#/ u#0 ~#1 �#3 �#4 �#5 �#6 �#8 �#9 �#: �#; �#<
+##=
+##>
+0#@
+C#A
+a#B
+p#H
+y#I
+�#K
+�#L
+�#M
+�#N
+�#O
+�#Q
+�#R
+�#S
+�#T
+�#V###W###X#+#]#:#c#C#d#T#f#g#g#q#h#z#i#�#k#�#l#�#m#�#n#�#p#�#q#�#r#�#w#�#}
##~
##�
*#�
4#�
=#�
M#�
d#�
w#�
#�
�#�
�#�
�#�
�#�
�#�
�#�
�#�
�#�##�##�##�.#�=#�F#�W#�n#��#��#��#��#��#��#��#��#�#<###
####�#=#>#####�#�###5###�#######,+�#��#EM,�#�N-�#‫ؙ‬##-�#�9#�#�##�#�# :#,�#�#####
%#%#�###;###"#####�###�##�###�###�#
%#�#'#�#+#�#<###>#####,#=#>#####,#�#�#####$#�#####
###�#�#######�#�###'###�#�#####�#�###5###i########+�#��#EM,�#�N�#�-
�#�#####;#########�###�##�###�#<###*#######=#>#######�#�######�#####
###�#�#####�#�###5###�#######,+�#��#EM,�#�N-�#‫ؙ‬##-�#�9#�#�##�##�# :#,�#�#####%#
%#�###;###"#####�###�##�###�###�#%#�#'#�#+#�#<###>#####,#=#>#####,#�#�#####$#�#####
###�#�#######�#�###'###�#�#######�###5###�#######-+�#��#EM,�#�N-�#‫ؙ‬##-�##6#�#�##��#
+�# :#,�#�#####&#&#�###;###"#####�###�##�###�###�#&#�#(#�#,#�#<###>#####-
#=#>#####-#�#�#####%#�###### #�#�#####
#�#####(###�#�#####
#�###5###�#######-+�#��#EM,�#�N-�#‫ؙ‬##-�##6#�#�##��##�#
:#,�#�#####&#&#�###;###"#####�###�##�###�###�#&#�#(#�#,#�#<###>#####-
#=#>#####-#�#�#####%#�###### #�#�#####
#�#####(###�#�#######�###5###�#######,+�#��#EM,�#�N-�#‫ؙ‬##-�##6#�#�##�##�#
:#,�#�#####%#%#�###;###"#####�###�##�###�###�#
%#�#'#�#+#�#<###>#####,#=#>#####,#�#�#####$#�#####
###�#�#######�#####'###�#�###########5###�#######8#I*�#Z�#�:###�#‫ؙ‬####�#�I�#�(�#�##:
#*�##�##*�#T�#�#�#!�#########�###;###*#
+#########################%# #,#
+#3##7###<###4#####8#=#>#####8#�#"#####6###�#####-#$#�###%###�#�#####
%#####5###�#######8#I*�#Z�#�:###�#‫ؙ‬####�#�I�#�(�##�##:#*�##�##*�#T�#�#�#!
�#########�###;###*#
+#########################%###,###3###7###<###4#####8#=#>#####8#�#"#####6###�#####-
#$#�###%###�#�#####&#####5###N########�#�*�#��#*�#-#�#!�#####;#########"#
#####$#<###########=#>#######�#"#####.#####5###N########�#�*�#��#*�#1#�#!
�#####;#########(#
#)###*#<###########=#>#######�#"#####2#####5###N########�#�*�#��#*�#5#�#!
�#####;#########.#
#/###0#<###########=#>#######�#"#####6#####5###N########�#�*�#H�#Զ#�#�#!
�#####;#########4#
#5###6#<###########=#>#######�#"#####7#####5###N########�#�*�#M�#8�#;#�#!
�#####;#########:#
#;###<#<###########=#>#######�#"#####<#####5###�#######/#=*�#Z�#�N-�#‫ؙ‬##-
�##=�#�#��##�#
:#*�#T�#�#�#!�#####!#!#�###;###&# ###@###A#
+#B###D###E#!#F###G#*#J#.#K#<###4#####/#=#>#####/#�#"#####-#=#####
+#%#$#�#######�#�#####>#####5###�#######6#=*�#T�#�N-�#‫ؙ‬##-�##=�#�#��#
+�##:#*�##�##*�#T�#�#�#!�#####!#!#�###;###*#
+###O###P#
+#Q###S###T#!#U###V#*#W#1#Z#5#[#<###4#####6#=#>#####6#�#"#####4#=#####
+#,#$#�#######�#�#####?#####5###Q########�#�*�#a�#B�##�#E#�#!
�#####;#########_###`###a#<###########=#>#######�#"#####F#####5###�#######5#=*�#i�#
�N-�#‫ؙ‬#"-�##=�#�#�##�##:#*�##�##*�#i�#�#�#!�##### # #�###;###*#
+###e###f#
+#g###i###j# #k#"#l#)#m#0#p#4#q#<###4#####5#=#>#####5#�#"#####3#G#####
+#+#$#�###"###�#�#####H#####5###Q########�#�*�#o�#B�##�#K#�#!
�#####;#########u###v###w#<###########=#>#######�#"#####L#####5###Q########�#�*�#q�
#B�##�#O#�#!�#####;#########{###|
###}#<###########=#>#######�#"#####P#####5###Q########�#�*�#w�#B�##�#S#�#!
�#####;#########�###�###�#<###########=#>#######�#"#####T#####5###Q########�#�*�#y�
#B�##�#W#�#!
�#####;#########�###�###�#<###########=#>#######�#"#####X#####5###Q########�#�*�#�
#B�##�#[#�#!
�#####;#########�###�###�#<###########=#>#######�#"#####\#####5###Q########�#�*�#��
#B�##�#_#�#!
�#####;#########�###�###�#<###########=#>#######�#"#####`#####5###########�*�#g�#B�
##�#cM�#�*�#g�#B�##�#f#�#!,##h�#k�#"�#�##m�#p�#�##r�#u�#y�#}#�#��#J,##��#k�##,##��#
k�#,##��#k�#"�#�##��#p�#�##��#u�#y�#}#�#��#
�#y�#}#�#��#####;###:#####�###�###�#"#�#,#�#5#�#>#�#K#�#_#�#i#�#r#�#{#�#�#�#�#�#<##
# #####�#=#>#####�#�#"#####�#�#�#####�#####5###Q########�#�*�#��#B�##�#�#�#!
�#####;#########�###�###�#<###########=#>#######�#"#####�#�###5###A#######
*�#H+�#��#####;###
+#####�###�#<######### #=#>##### #$#�#####�#�###5###A####### *�#M#�#ܱ#####;###
+#####�###�#<######### #=#>##### #�#�#####�#�###5###A####### *�#Z+�#��#####;###
+#####�###�#<######### #=#>##### #$#�#####�#�###5###A####### *�#T+�#��#####;###
+#####�###�#<######### #=#>#####

#$#�#####�#�###5###M########*�#a+�#�*�#a+�#��#####;#########�###�###�#<###########=
#>#######$#�#####�#�###5###A####### *�#i+�#��#####;###
+#####�###�#<######### #=#>#####

#$#�#####�#�###5###M########*�#o+�#�*�#o+�#��#####;#########�###�###�#<###########=
#>#######$#�#####�#�###5###M########*�#q+�#�*�#q+�#��#####;#########�###�###�#<####
#######=#>#######$#�#####�#�###5###M########*�#w+�#�*�#w+�#��#####;#########�###�##
#�#<###########=#>#######$#�#####�#�###5###M########*�#y+�#�*�#y+�#��#####;########
#�###�###�#<###########=#>#######$#�#####�#�###5###M########*�#+�#�*�#+�#��#####;
#########�###�###�#<###########=#>#######$#�#####�#�###5###M########*�#�+�#�*�#�+�#
��#####;#########�###�###�#<###########=#>#######$#�#####�#�###5###M########*�#g+�#
�*�#g+�#��#####;#########�###�###�#<###########=#>#######$#�#####�#�###5###M#######
#*�#�+�#�*�#�+�#��#####;#########�###�###�#<###########=#>#######$#�#####�#�###5###
A####### *�#�#�#��#####;###
+#####�###�#<######### #=#>##### #�#�#####�#�###5###A####### *�#�#�#��#####;###
+#####�###�#<######### #=#>##### #�#�#####�#�###5###A####### *�#�#�#��#####;###
+#####�###�#<######### #=#>##### #�#�#####�#�###5###A####### *�#�+�#��#####;###
+###########<######### #=#>##### #$#�#####�#�###5###A####### *�#�+�#��#####;###
+###########<######### #=#>#####

#$#�#####�#�###5###(#######�*+�#��#�*+�#��#�*+�#��#�*+�#�#�*+�#Ʒ#�*+�# ˷#�*+�#з#�*+�
#շ# � *+ � # ޷#‫ڸ‬#�*+�#�#�*+�#�#�#�*+�#�#�#�*+�#�#�*+�#�#�*+�##�##*+�##�##*+�#
+�#
*+�##�#�##*+�##�#�##�#####;###R#####
+#######
####
###(###0###8###@###K###S###^###i###q###y###�###�###�###�###�###<#########�#=#>#####
�#####################5###&########*+�##�#####;#########2#<#####################5##
#&########*+�#!
�#####;#########�#<#########"###########5###&########*+�#$�#####;#########8#<######
###
%###########5###&########*+�#'�#####;#########M#<#########(###########5###&########
*+�#*�#####;#########�#<#########+###########5###&########*+�#-
�#####;#########>#<#########.###########5###&########*+�#0�#####;#########�#<######
###1###########5###&########*+�#3�#####;#########]#<#########4###########5###&#####
###*+�#6�#####;#########�#<#########7###########5###&########*+�#9�#####;#########c
#<#########:###########5###&########*+�#<�#####;#########�#<#########=###########5#
##&########*+�#?
�#####;#########s#<#########@###########5###&########*+�#B�#####;#########y#<######
###C###########5###&########*+�#E�#####;##########<#########F###########5###&#####
###*+�#H�#####;#########�#<#########I###########5###&########*+�#K�#####;#########�
#<#########L###########5###&########*+�#N�#####;#########�#<#########O###########5#
##&########*+�#Q�#####;#########�#<#########R###########5###&########*+�#T�#####;##
#########<#########U###########5###&########*+�#W�#####;#########�#<#########X#####
######5###&########*+�#Z�#####;###########<#########[###########5###&########*+�#]�
#####;#########�#<#########^###########5###&########*+�#`�#####;#########-
#<#########a###########5###&########*+�#c�#####;#########&#<#########d###########5#
##&########*+�#f�#####;#########
#<#########g#####h#i###�###�#######�#######�###############

#######################$#######>#######A#######D#######[#######f#######o#######v###
###########�#######�#######�#######�#######�#######�#######�#######�#######�######

\ Falta o caracter nova linha no final do arquivo


diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.form ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.form
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.form
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.form 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,712 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+ <NonVisualComponents>
+ <Component class="javax.swing.ButtonGroup" name="buttonGroup1">
+ </Component>
+ </NonVisualComponents>
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ </Properties>
+ <AuxValues>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer"
value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-
19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,1
10,65,-114,-39,-41,-
84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112
,0,0,2,116,0,0,2,73"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
+ <Property name="useNullLayout" type="boolean" value="true"/>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JTextField" name="traceFileNameTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="trace.tr"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="traceFileNameTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="traceFileNameTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="500" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JCheckBox" name="traceFileCheckBox">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="selected" type="boolean" value="true"/>
+ <Property name="text" type="java.lang.String" value="TRACE FILE NAME:"/>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
+ <EmptyBorder bottom="0" left="0" right="0" top="0"/>
+ </Border>
+ </Property>
+ <Property name="focusable" type="boolean" value="false"/>
+ <Property name="horizontalAlignment" type="int" value="2"/>
+ <Property name="margin" type="java.awt.Insets"
editor="org.netbeans.beaninfo.editors.InsetsEditor">
+ <Insets value="[0, 0, 0, 0]"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="traceFileCheckBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="500" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="scenarySizeLenLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="SCENARY SIZE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="460" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="scenarySizeXTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="100"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="scenarySizeXTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="scenarySizeXTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="370" y="460" width="70" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="metersLabel1">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="meters"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="290" y="460" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="xLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="x"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="340" y="460" width="10" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="scenarySizeYTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="100"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="scenarySizeYTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="scenarySizeYTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="460" width="70" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="metersLabel2">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="meters"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="450" y="460" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="batteryComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="EnergyModel/Battery"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="batteryComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="420" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="batteryLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="BATTERY:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="420" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="routingProtocolLabel">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="ff" green="ff" id="white" palette="1" red="ff"
type="palette"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="ROUTING PROTOCOL:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="100" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="routingProtocolComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="6">
+ <StringItem index="0" value="AODV"/>
+ <StringItem index="1" value="DSR"/>
+ <StringItem index="2" value="TORA"/>
+ <StringItem index="3" value="LEECH"/>
+ <StringItem index="4" value="DIRECT DIFFUSION"/>
+ <StringItem index="5" value="DSDV"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="routingProtocolComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="100" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="ifqLenTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="100"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="ifqLenTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="ifqLenTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="380" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="ifqLenLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="IFQ LENGTH:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="380" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="ifqLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="INTERFACE QUEUE
(IFQ):"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="340" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="ifqComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="8">
+ <StringItem index="0" value="Queue/DropTail/PriQueue"/>
+ <StringItem index="1" value="Queue/RED"/>
+ <StringItem index="2" value="Queue/RED/Pushback"/>
+ <StringItem index="3" value="Queue/RED/RIO"/>
+ <StringItem index="4" value="Queue/DropTail"/>
+ <StringItem index="5" value="Queue/Vq"/>
+ <StringItem index="6" value="Queue/XCP"/>
+ <StringItem index="7" value="Queue/DropTail/XCP"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="ifqComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="340" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="propagationComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="4">
+ <StringItem index="0" value="Propagation/TwoRayGround"/>
+ <StringItem index="1" value="Propagation/Shadowing"/>
+ <StringItem index="2" value="Propagation/ShadowingVis"/>
+ <StringItem index="3" value="Propagation/FreeSpace"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="propagationComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="300" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="propagationLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="RADIO PROPAGATION:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="300" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="antennaLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="ANTENNA:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="260" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="antennaComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="Antena/OmniAntenna"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="antennaComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="260" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="phyComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="2">
+ <StringItem index="0" value="Phy/WirelessPhy - Mica2"/>
+ <StringItem index="1" value="Phy/WirelessPhy - 914MHz Lucent WaveLAN
DSSS"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="phyComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="220" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="phyLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="PHYSYCAL LAYER:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="220" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="linkLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="LINK:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="180" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="linkComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="LL"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="linkComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="180" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="macLayerComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="Mac/802_11"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="macLayerComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="140" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="macLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="MAC:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="140" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="channelTypeLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="CHANNEL TYPE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="channelTypeTextField">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ <Property name="editable" type="boolean" value="false"/>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String"
value="Channel/WirelessChannel"/>
+ <Property name="disabledTextColor" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="ff" green="ff" red="ff" type="rgb"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="20" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="transportComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="2">
+ <StringItem index="0" value="UDP"/>
+ <StringItem index="1" value="TCP"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="transportComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="60" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="transportLabel">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="ff" green="ff" id="white" palette="1" red="ff"
type="palette"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="TRANSPORT
PROTOCOL:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="60" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="simulationTimeLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="SIMULATION TIME:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="580" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="startTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="1"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="startTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="startTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="250" y="580" width="90" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="startLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="START:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="580" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="stopLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="STOP:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="360" y="580" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="stopTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="100"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="stopTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="stopTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="390" y="580" width="90" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="traceLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="TRACE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="540" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JRadioButton" name="traceMacRadioButton">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="selected" type="boolean" value="true"/>
+ <Property name="text" type="java.lang.String" value="TRACE-MAC"/>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
+ <EmptyBorder bottom="0" left="0" right="0" top="0"/>
+ </Border>
+ </Property>
+ <Property name="margin" type="java.awt.Insets"
editor="org.netbeans.beaninfo.editors.InsetsEditor">
+ <Insets value="[0, 0, 0, 0]"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="traceMacRadioButtonActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="540" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JRadioButton" name="traceRouteRadioButton">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="selected" type="boolean" value="true"/>
+ <Property name="text" type="java.lang.String" value="TRACE-ROUTE"/>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
+ <EmptyBorder bottom="0" left="0" right="0" top="0"/>
+ </Border>
+ </Property>
+ <Property name="margin" type="java.awt.Insets"
editor="org.netbeans.beaninfo.editors.InsetsEditor">
+ <Insets value="[0, 0, 0, 0]"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="traceRouteRadioButtonActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="300" y="540" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JRadioButton" name="traceAgentRadioButton">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="selected" type="boolean" value="true"/>
+ <Property name="text" type="java.lang.String" value="TRACE-AGENT"/>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
+ <EmptyBorder bottom="0" left="0" right="0" top="0"/>
+ </Border>
+ </Property>
+ <Property name="margin" type="java.awt.Insets"
editor="org.netbeans.beaninfo.editors.InsetsEditor">
+ <Insets value="[0, 0, 0, 0]"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="traceAgentRadioButtonActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="400" y="540" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+</Form>
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.java ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.java
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.java
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/BasicConfPanel.java 2006-05-26
11:29:04.000000000 -0300
@@ -0,0 +1,842 @@
+/*
+ * BasicConfPanel.java
+ *
+ * Created on 24 de Novembro de 2005, 18:16
+ */
+
+package gui;
+
+/**
+ *
+ * @author Helen Peters
+ */
+
+public class BasicConfPanel extends javax.swing.JPanel {
+
+ /** Creates new form BasicConfPanel */
+ public BasicConfPanel() {
+ initComponents();
+ }
+
+ /** This method is called from within the constructor to
+ * initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is
+ * always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
+ private void initComponents() {
+ buttonGroup1 = new javax.swing.ButtonGroup();
+ traceFileNameTextField = new javax.swing.JTextField();
+ traceFileCheckBox = new javax.swing.JCheckBox();
+ scenarySizeLenLabel = new javax.swing.JLabel();
+ scenarySizeXTextField = new javax.swing.JTextField();
+ metersLabel1 = new javax.swing.JLabel();
+ xLabel = new javax.swing.JLabel();
+ scenarySizeYTextField = new javax.swing.JTextField();
+ metersLabel2 = new javax.swing.JLabel();
+ batteryComboBox = new javax.swing.JComboBox();
+ batteryLabel = new javax.swing.JLabel();
+ routingProtocolLabel = new javax.swing.JLabel();
+ routingProtocolComboBox = new javax.swing.JComboBox();
+ ifqLenTextField = new javax.swing.JTextField();
+ ifqLenLabel = new javax.swing.JLabel();
+ ifqLabel = new javax.swing.JLabel();
+ ifqComboBox = new javax.swing.JComboBox();
+ propagationComboBox = new javax.swing.JComboBox();
+ propagationLabel = new javax.swing.JLabel();
+ antennaLabel = new javax.swing.JLabel();
+ antennaComboBox = new javax.swing.JComboBox();
+ phyComboBox = new javax.swing.JComboBox();
+ phyLabel = new javax.swing.JLabel();
+ linkLabel = new javax.swing.JLabel();
+ linkComboBox = new javax.swing.JComboBox();
+ macLayerComboBox = new javax.swing.JComboBox();
+ macLabel = new javax.swing.JLabel();
+ channelTypeLabel = new javax.swing.JLabel();
+ channelTypeTextField = new javax.swing.JTextField();
+ transportComboBox = new javax.swing.JComboBox();
+ transportLabel = new javax.swing.JLabel();
+ simulationTimeLabel = new javax.swing.JLabel();
+ startTextField = new javax.swing.JTextField();
+ startLabel = new javax.swing.JLabel();
+ stopLabel = new javax.swing.JLabel();
+ stopTextField = new javax.swing.JTextField();
+ traceLabel = new javax.swing.JLabel();
+ traceMacRadioButton = new javax.swing.JRadioButton();
+ traceRouteRadioButton = new javax.swing.JRadioButton();
+ traceAgentRadioButton = new javax.swing.JRadioButton();
+
+ setLayout(null);
+
+ setBackground(new java.awt.Color(240, 238, 231));
+ traceFileNameTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ traceFileNameTextField.setText("trace.tr");
+ traceFileNameTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ traceFileNameTextFieldActionPerformed(evt);
+ }
+ });
+ traceFileNameTextField.addFocusListener(new java.awt.event.FocusAdapter()
{
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ traceFileNameTextFieldFocusLost(evt);
+ }
+ });
+
+ add(traceFileNameTextField);
+ traceFileNameTextField.setBounds(210, 500, 270, 19);
+
+ traceFileCheckBox.setBackground(new java.awt.Color(240, 238, 231));
+ traceFileCheckBox.setFont(new java.awt.Font("Arial", 0, 11));
+ traceFileCheckBox.setSelected(true);
+ traceFileCheckBox.setText("TRACE FILE NAME:");
+ traceFileCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0,
0, 0, 0));
+ traceFileCheckBox.setFocusable(false);
+ traceFileCheckBox.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
+ traceFileCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0));
+ traceFileCheckBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ traceFileCheckBoxActionPerformed(evt);
+ }
+ });
+
+ add(traceFileCheckBox);
+ traceFileCheckBox.setBounds(20, 500, 109, 15);
+
+ scenarySizeLenLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ scenarySizeLenLabel.setText("SCENARY SIZE:");
+ add(scenarySizeLenLabel);
+ scenarySizeLenLabel.setBounds(20, 460, 78, 14);
+
+ scenarySizeXTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ scenarySizeXTextField.setText("100");
+ scenarySizeXTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ scenarySizeXTextFieldActionPerformed(evt);
+ }
+ });
+ scenarySizeXTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ scenarySizeXTextFieldFocusLost(evt);
+ }
+ });
+
+ add(scenarySizeXTextField);
+ scenarySizeXTextField.setBounds(370, 460, 70, 19);
+
+ metersLabel1.setFont(new java.awt.Font("Arial", 0, 11));
+ metersLabel1.setText("meters");
+ add(metersLabel1);
+ metersLabel1.setBounds(290, 460, 33, 20);
+
+ xLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ xLabel.setText("x");
+ add(xLabel);
+ xLabel.setBounds(340, 460, 10, 20);
+
+ scenarySizeYTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ scenarySizeYTextField.setText("100");
+ scenarySizeYTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ scenarySizeYTextFieldActionPerformed(evt);
+ }
+ });
+ scenarySizeYTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ scenarySizeYTextFieldFocusLost(evt);
+ }
+ });
+
+ add(scenarySizeYTextField);
+ scenarySizeYTextField.setBounds(210, 460, 70, 19);
+
+ metersLabel2.setFont(new java.awt.Font("Arial", 0, 11));
+ metersLabel2.setText("meters");
+ add(metersLabel2);
+ metersLabel2.setBounds(450, 460, 33, 20);
+
+ batteryComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ batteryComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[]
{ "EnergyModel/Battery" }));
+ batteryComboBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ batteryComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(batteryComboBox);
+ batteryComboBox.setBounds(210, 420, 270, 22);
+
+ batteryLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ batteryLabel.setText("BATTERY:");
+ add(batteryLabel);
+ batteryLabel.setBounds(20, 420, 51, 14);
+
+ routingProtocolLabel.setBackground(java.awt.Color.white);
+ routingProtocolLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ routingProtocolLabel.setText("ROUTING PROTOCOL:");
+ add(routingProtocolLabel);
+ routingProtocolLabel.setBounds(20, 100, 107, 14);
+
+ routingProtocolComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ routingProtocolComboBox.setModel(new javax.swing.DefaultComboBoxModel(new
String[] { "AODV", "DSR", "TORA", "LEACH", "DIRECTED DIFFUSION", "DSDV" }));
+ routingProtocolComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ routingProtocolComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(routingProtocolComboBox);
+ routingProtocolComboBox.setBounds(210, 100, 270, 22);
+
+ ifqLenTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ ifqLenTextField.setText("100");
+ ifqLenTextField.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ ifqLenTextFieldActionPerformed(evt);
+ }
+ });
+ ifqLenTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ ifqLenTextFieldFocusLost(evt);
+ }
+ });
+
+ add(ifqLenTextField);
+ ifqLenTextField.setBounds(210, 380, 270, 19);
+
+ ifqLenLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ ifqLenLabel.setText("IFQ LENGTH:");
+ add(ifqLenLabel);
+ ifqLenLabel.setBounds(20, 380, 62, 14);
+
+ ifqLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ ifqLabel.setText("INTERFACE QUEUE (IFQ):");
+ add(ifqLabel);
+ ifqLabel.setBounds(20, 340, 122, 14);
+
+ ifqComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ ifqComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[]
{ "Queue/DropTail/PriQueue", "Queue/RED", "Queue/RED/Pushback", "Queue/RED/RIO",
"Queue/DropTail", "Queue/Vq", "Queue/XCP", "Queue/DropTail/XCP" }));
+ ifqComboBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ ifqComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(ifqComboBox);
+ ifqComboBox.setBounds(210, 340, 270, 22);
+
+ propagationComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ propagationComboBox.setModel(new javax.swing.DefaultComboBoxModel(new
String[] { "Propagation/TwoRayGround", "Propagation/Shadowing",
"Propagation/ShadowingVis", "Propagation/FreeSpace" }));
+ propagationComboBox.addActionListener(new java.awt.event.ActionListener()
{
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ propagationComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(propagationComboBox);
+ propagationComboBox.setBounds(210, 300, 270, 22);
+
+ propagationLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ propagationLabel.setText("RADIO PROPAGATION:");
+ add(propagationLabel);
+ propagationLabel.setBounds(20, 300, 112, 14);
+
+ antennaLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ antennaLabel.setText("ANTENNA:");
+ add(antennaLabel);
+ antennaLabel.setBounds(20, 260, 52, 14);
+
+ antennaComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ antennaComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[]
{ "Antena/OmniAntenna" }));
+ antennaComboBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ antennaComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(antennaComboBox);
+ antennaComboBox.setBounds(210, 260, 270, 22);
+
+ phyComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ phyComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[]
{ "Phy/WirelessPhy - Mica2", "Phy/WirelessPhy - 914MHz Lucent WaveLAN DSSS" }));
+ phyComboBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ phyComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(phyComboBox);
+ phyComboBox.setBounds(210, 220, 273, 20);
+
+ phyLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ phyLabel.setText("PHYSYCAL LAYER:");
+ add(phyLabel);
+ phyLabel.setBounds(20, 220, 98, 14);
+
+ linkLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ linkLabel.setText("LINK:");
+ add(linkLabel);
+ linkLabel.setBounds(20, 180, 25, 14);
+
+ linkComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ linkComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[]
{ "LL" }));
+ linkComboBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ linkComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(linkComboBox);
+ linkComboBox.setBounds(210, 180, 270, 22);
+
+ macLayerComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ macLayerComboBox.setModel(new javax.swing.DefaultComboBoxModel(new
String[] { "Mac/802_11" }));
+ macLayerComboBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ macLayerComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(macLayerComboBox);
+ macLayerComboBox.setBounds(210, 140, 270, 22);
+
+ macLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ macLabel.setText("MAC:");
+ add(macLabel);
+ macLabel.setBounds(20, 140, 26, 14);
+
+ channelTypeLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ channelTypeLabel.setText("CHANNEL TYPE:");
+ add(channelTypeLabel);
+ channelTypeLabel.setBounds(20, 20, 80, 14);
+
+ channelTypeTextField.setBackground(new java.awt.Color(240, 238, 231));
+ channelTypeTextField.setEditable(false);
+ channelTypeTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ channelTypeTextField.setText("Channel/WirelessChannel");
+ channelTypeTextField.setDisabledTextColor(new java.awt.Color(255, 255,
255));
+ add(channelTypeTextField);
+ channelTypeTextField.setBounds(210, 20, 270, 19);
+
+ transportComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ transportComboBox.setModel(new javax.swing.DefaultComboBoxModel(new
String[] { "UDP", "TCP" }));
+ transportComboBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ transportComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(transportComboBox);
+ transportComboBox.setBounds(210, 60, 270, 22);
+
+ transportLabel.setBackground(java.awt.Color.white);
+ transportLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ transportLabel.setText("TRANSPORT PROTOCOL:");
+ add(transportLabel);
+ transportLabel.setBounds(20, 60, 127, 14);
+
+ simulationTimeLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ simulationTimeLabel.setText("SIMULATION TIME:");
+ add(simulationTimeLabel);
+ simulationTimeLabel.setBounds(20, 580, 89, 14);
+
+ startTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ startTextField.setText("1");
+ startTextField.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ startTextFieldActionPerformed(evt);
+ }
+ });
+ startTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ startTextFieldFocusLost(evt);
+ }
+ });
+
+ add(startTextField);
+ startTextField.setBounds(250, 580, 90, 19);
+
+ startLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ startLabel.setText("START:");
+ add(startLabel);
+ startLabel.setBounds(210, 580, 37, 20);
+
+ stopLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ stopLabel.setText("STOP:");
+ add(stopLabel);
+ stopLabel.setBounds(360, 580, 30, 20);
+
+ stopTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ stopTextField.setText("100");
+ stopTextField.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ stopTextFieldActionPerformed(evt);
+ }
+ });
+ stopTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ stopTextFieldFocusLost(evt);
+ }
+ });
+
+ add(stopTextField);
+ stopTextField.setBounds(390, 580, 90, 19);
+
+ traceLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ traceLabel.setText("TRACE:");
+ add(traceLabel);
+ traceLabel.setBounds(20, 540, 37, 14);
+
+ traceMacRadioButton.setBackground(new java.awt.Color(240, 238, 231));
+ traceMacRadioButton.setFont(new java.awt.Font("Arial", 0, 11));
+ traceMacRadioButton.setSelected(true);
+ traceMacRadioButton.setText("TRACE-MAC");
+
traceMacRadioButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0,
0));
+ traceMacRadioButton.setMargin(new java.awt.Insets(0, 0, 0, 0));
+ traceMacRadioButton.addActionListener(new java.awt.event.ActionListener()
{
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ traceMacRadioButtonActionPerformed(evt);
+ }
+ });
+
+ add(traceMacRadioButton);
+ traceMacRadioButton.setBounds(210, 540, 79, 15);
+
+ traceRouteRadioButton.setBackground(new java.awt.Color(240, 238, 231));
+ traceRouteRadioButton.setFont(new java.awt.Font("Arial", 0, 11));
+ traceRouteRadioButton.setSelected(true);
+ traceRouteRadioButton.setText("TRACE-ROUTE");
+
traceRouteRadioButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0,
0, 0));
+ traceRouteRadioButton.setMargin(new java.awt.Insets(0, 0, 0, 0));
+ traceRouteRadioButton.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ traceRouteRadioButtonActionPerformed(evt);
+ }
+ });
+
+ add(traceRouteRadioButton);
+ traceRouteRadioButton.setBounds(300, 540, 89, 15);
+
+ traceAgentRadioButton.setBackground(new java.awt.Color(240, 238, 231));
+ traceAgentRadioButton.setFont(new java.awt.Font("Arial", 0, 11));
+ traceAgentRadioButton.setSelected(true);
+ traceAgentRadioButton.setText("TRACE-AGENT");
+
traceAgentRadioButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0,
0, 0));
+ traceAgentRadioButton.setMargin(new java.awt.Insets(0, 0, 0, 0));
+ traceAgentRadioButton.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ traceAgentRadioButtonActionPerformed(evt);
+ }
+ });
+
+ add(traceAgentRadioButton);
+ traceAgentRadioButton.setBounds(400, 540, 91, 15);
+
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void stopTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-
FIRST:event_stopTextFieldFocusLost
+
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setSimulationStop(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_stopTextFieldFocusLost
+
+ private void traceFileNameTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_traceFileNameTextFieldFocusLost
+
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ MainFrame.getTcl().setTraceFileName(content);
+ }//GEN-LAST:event_traceFileNameTextFieldFocusLost
+
+
+
+ private void startTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-
FIRST:event_startTextFieldFocusLost
+
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setSimulationStart(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_startTextFieldFocusLost
+
+ private void scenarySizeXTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_scenarySizeXTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ int aux = Integer.parseInt(content);
+ MainFrame.getTcl().setScenarioX(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_scenarySizeXTextFieldFocusLost
+
+ private void scenarySizeYTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_scenarySizeYTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ int aux = Integer.parseInt(content);
+ MainFrame.getTcl().setScenarioY (aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_scenarySizeYTextFieldFocusLost
+
+ private void ifqLenTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-
FIRST:event_ifqLenTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ int aux = Integer.parseInt(content);
+ MainFrame.getTcl().setIfqLen(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_ifqLenTextFieldFocusLost
+
+ private void stopTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_stopTextFieldActionPerformed
+
+ double time = 0;
+ String s = scenarySizeYTextField.getText();
+ if (s.length() != 0) {
+ try {
+ time = Double.parseDouble(s);
+ MainFrame.getTcl().setSimulationStop(time);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ scenarySizeXTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_stopTextFieldActionPerformed
+
+ private void startTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_startTextFieldActionPerformed
+
+ double time = 0;
+ String s = scenarySizeYTextField.getText();
+ if (s.length() != 0) {
+ try {
+ time = Double.parseDouble(s);
+ MainFrame.getTcl().setSimulationStart(time);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ scenarySizeXTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_startTextFieldActionPerformed
+
+ private void traceAgentRadioButtonActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_traceAgentRadioButtonActionPerformed
+
+ MainFrame.getTcl().setTraceAgent(traceAgentRadioButton.isSelected());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_traceAgentRadioButtonActionPerformed
+
+ private void traceRouteRadioButtonActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_traceRouteRadioButtonActionPerformed
+
+ MainFrame.getTcl().setTraceRoute(traceRouteRadioButton.isSelected());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_traceRouteRadioButtonActionPerformed
+
+
+ private void traceMacRadioButtonActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_traceMacRadioButtonActionPerformed
+ MainFrame.getTcl().setTraceMac(traceMacRadioButton.isSelected());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_traceMacRadioButtonActionPerformed
+
+ private void traceFileNameTextFieldActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_traceFileNameTextFieldActionPerformed
+
+ MainFrame.getTcl().setTraceFileName(traceFileNameTextField.getText());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_traceFileNameTextFieldActionPerformed
+
+ private void traceFileCheckBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_traceFileCheckBoxActionPerformed
+
+ MainFrame.getTcl().setTraceFile(traceFileCheckBox.isSelected());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_traceFileCheckBoxActionPerformed
+
+ private void scenarySizeYTextFieldActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_scenarySizeYTextFieldActionPerformed
+
+ int size = 0;
+ String s = scenarySizeYTextField.getText();
+ if (s.length() != 0) {
+ try {
+ size = Integer.parseInt(s);
+ MainFrame.getTcl().setScenarioY(size);
+ } catch (NumberFormatException nfe) {
+ scenarySizeXTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_scenarySizeYTextFieldActionPerformed
+
+ private void scenarySizeXTextFieldActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_scenarySizeXTextFieldActionPerformed
+
+ int size = 0;
+ String s = scenarySizeXTextField.getText();
+ if (s.length() != 0) {
+ try {
+ size = Integer.parseInt(s);
+ MainFrame.getTcl().setScenarioX(size);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ scenarySizeXTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_scenarySizeXTextFieldActionPerformed
+
+ private void batteryComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_batteryComboBoxActionPerformed
+
+ MainFrame.getTcl().setBattery((String) batteryComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_batteryComboBoxActionPerformed
+
+ private void ifqLenTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_ifqLenTextFieldActionPerformed
+
+ int ifqLen = 0;
+ String s = ifqLenTextField.getText();
+ if (s.length() != 0) {
+ try {
+ ifqLen = Integer.parseInt(s);
+ MainFrame.getTcl().setIfqLen(ifqLen);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ ifqLenTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_ifqLenTextFieldActionPerformed
+
+ private void ifqComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_ifqComboBoxActionPerformed
+
+ MainFrame.getTcl().setIfq((String) ifqComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_ifqComboBoxActionPerformed
+
+ private void propagationComboBoxActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_propagationComboBoxActionPerformed
+
+ MainFrame.getTcl().setPropagation((String)
propagationComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_propagationComboBoxActionPerformed
+
+ private void antennaComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_antennaComboBoxActionPerformed
+
+ MainFrame.getTcl().setAntenna((String) antennaComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_antennaComboBoxActionPerformed
+
+ private void phyComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_phyComboBoxActionPerformed
+
+ MainFrame.getTcl().setPhyLayer((String) phyComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_phyComboBoxActionPerformed
+
+ private void linkComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_linkComboBoxActionPerformed
+
+ MainFrame.getTcl().setLinkLayer((String) linkComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_linkComboBoxActionPerformed
+
+ private void macLayerComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_macLayerComboBoxActionPerformed
+
+ MainFrame.getTcl().setMacLayer((String)
macLayerComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_macLayerComboBoxActionPerformed
+
+ private void routingProtocolComboBoxActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_routingProtocolComboBoxActionPerformed
+ String sl = ((String)
routingProtocolComboBox.getSelectedItem()).toLowerCase();
+
+ MainFrame.getTcl().setRoutingProtocol((String)
routingProtocolComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+
+ if (sl.compareTo("leach") == 0) {
+

MainFrame.getTcl().setAccessPointApplication("Application/AccessPointApp/AccessPoin
tLeachApp");
+

MainFrame.getTcl().setCommonNodeApplication("Application/SensorBaseApp/CommonNodeAp
p/LeachApp");
+ MainFrame.mainFrame.getClusterHeadConfButton().setEnabled(false);
+ }
+ else if (sl.compareTo("dd") == 0 || sl.compareTo("directed diffusion") ==
0 ||
+ sl.compareTo("directeddiffusion") == 0) {
+

MainFrame.getTcl().setAccessPointApplication("Application/AccessPointDiffApp");
+

MainFrame.getTcl().setCommonNodeApplication("Application/SensorBaseApp/CommonNodeDi
ffApp");
+ MainFrame.mainFrame.getClusterHeadConfButton().setEnabled(false);
+ }
+ else {
+ MainFrame.mainFrame.getClusterHeadConfButton().setEnabled(true);
+ }
+ }//GEN-LAST:event_routingProtocolComboBoxActionPerformed
+
+ private void transportComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_transportComboBoxActionPerformed
+
+
MainFrame.getTcl().setTransportProtocol((String)transportComboBox.getSelectedItem()
);
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_transportComboBoxActionPerformed
+
+
+ private void setTraceFileNameTextField(String s) {
+ traceFileNameTextField.setText(s);
+ }
+
+ private void setTraceFileCheckBox(boolean b) {
+ traceFileCheckBox.setSelected(b);
+ }
+
+ private void setScenarySizeYTextField(String s) {
+ scenarySizeYTextField.setText(s);
+ }
+
+ private void setScenarySizeXTextField(String s) {
+ scenarySizeXTextField.setText(s);
+ }
+
+ private void setBatteryComboBox(String s) {
+ batteryComboBox.addItem(s);
+ batteryComboBox.setSelectedItem(s);
+ }
+
+ private void setIfqLenTextField(String s) {
+ ifqLenTextField.setText(s);
+ }
+
+ private void setIfqComboBox(String s) {
+ ifqComboBox.addItem(s);
+ ifqComboBox.setSelectedItem(s);
+ }
+
+ private void setPropagationComboBox(String s) {
+ propagationComboBox.addItem(s);
+ propagationComboBox.setSelectedItem(s);
+ }
+
+ private void setAntennaComboBox(String s) {
+ antennaComboBox.addItem(s);
+ antennaComboBox.setSelectedItem(s);
+ }
+
+ private void setPhyComboBox(String s) {
+ phyComboBox.addItem(s);
+ phyComboBox.setSelectedItem(s);
+ }
+
+ private void setLinkComboBox(String s) {
+ linkComboBox.addItem(s);
+ linkComboBox.setSelectedItem(s);
+ }
+
+ private void setMacLayerComboBox(String s) {
+ macLayerComboBox.addItem(s);
+ macLayerComboBox.setSelectedItem(s);
+ }
+
+ private void setRoutingProtocolComboBox(String s) {
+ routingProtocolComboBox.addItem(s);
+ routingProtocolComboBox.setSelectedItem(s);
+ }
+
+ private void setTransportComboBox(String s) {
+ transportComboBox.addItem(s);
+ transportComboBox.setSelectedItem(s);
+ }
+
+ private void setTraceMacRadioButton(boolean b){
+ traceMacRadioButton.setSelected(b);
+ }
+
+ private void setTraceRouteRadioButton(boolean b){
+ traceRouteRadioButton.setSelected(b);
+ }
+
+ private void setTraceAgentRadioButton(boolean b){
+ traceAgentRadioButton.setSelected(b);
+ }
+
+ private void setStartTextField(String s) {
+ startTextField.setText(s);
+ }
+
+ private void setStopTextField(String s) {
+ stopTextField.setText(s);
+ }
+
+ public void updateFields(TclFields tcl){
+ setTransportComboBox(tcl.getTransportProtocol());
+ setRoutingProtocolComboBox(tcl.getRoutingProtocol());
+ setMacLayerComboBox(tcl.getMacLayer());
+ setLinkComboBox(tcl.getLinkLayer());
+ setPhyComboBox(tcl.getPhyLayer());
+ setAntennaComboBox(tcl.getAntenna());
+ setPropagationComboBox(tcl.getPropagation());
+ setIfqComboBox(tcl.getIfq());
+ setIfqLenTextField(String.valueOf(tcl.getIfqLen()));
+ setBatteryComboBox(tcl.getBattery());
+ setScenarySizeXTextField(String.valueOf(tcl.getScenarioX()));

+ setScenarySizeYTextField(String.valueOf(tcl.getScenarioY()));
+ setTraceFileNameTextField(tcl.getTraceFileName());
+ setTraceFileCheckBox(tcl.isTraceFile());
+ setTraceMacRadioButton(tcl.isTraceMac());
+ setTraceRouteRadioButton(tcl.isTraceRoute());
+ setTraceAgentRadioButton(tcl.isTraceAgent());
+ setStartTextField(String.valueOf(tcl.getSimulationStart()));
+ setStopTextField(String.valueOf(tcl.getSimulationStop()));
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JComboBox antennaComboBox;
+ private javax.swing.JLabel antennaLabel;
+ private javax.swing.JComboBox batteryComboBox;
+ private javax.swing.JLabel batteryLabel;
+ private javax.swing.ButtonGroup buttonGroup1;
+ private javax.swing.JLabel channelTypeLabel;
+ private javax.swing.JTextField channelTypeTextField;
+ private javax.swing.JComboBox ifqComboBox;
+ private javax.swing.JLabel ifqLabel;
+ private javax.swing.JLabel ifqLenLabel;
+ private javax.swing.JTextField ifqLenTextField;
+ private javax.swing.JComboBox linkComboBox;
+ private javax.swing.JLabel linkLabel;
+ private javax.swing.JLabel macLabel;
+ private javax.swing.JComboBox macLayerComboBox;
+ private javax.swing.JLabel metersLabel1;
+ private javax.swing.JLabel metersLabel2;
+ private javax.swing.JComboBox phyComboBox;
+ private javax.swing.JLabel phyLabel;
+ private javax.swing.JComboBox propagationComboBox;
+ private javax.swing.JLabel propagationLabel;
+ private javax.swing.JComboBox routingProtocolComboBox;
+ private javax.swing.JLabel routingProtocolLabel;
+ private javax.swing.JLabel scenarySizeLenLabel;
+ private javax.swing.JTextField scenarySizeXTextField;
+ private javax.swing.JTextField scenarySizeYTextField;
+ private javax.swing.JLabel simulationTimeLabel;
+ private javax.swing.JLabel startLabel;
+ private javax.swing.JTextField startTextField;
+ private javax.swing.JLabel stopLabel;
+ private javax.swing.JTextField stopTextField;
+ private javax.swing.JRadioButton traceAgentRadioButton;
+ private javax.swing.JCheckBox traceFileCheckBox;
+ private javax.swing.JTextField traceFileNameTextField;
+ private javax.swing.JLabel traceLabel;
+ private javax.swing.JRadioButton traceMacRadioButton;
+ private javax.swing.JRadioButton traceRouteRadioButton;
+ private javax.swing.JComboBox transportComboBox;
+ private javax.swing.JLabel transportLabel;
+ private javax.swing.JLabel xLabel;
+ // End of variables declaration//GEN-END:variables
+
+}
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$10.class ns-allinone-
2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$10.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$10.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$10.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/ClusterHeadConfPanel$10######java/lang/Object######java/awt/event/
ActionListener######this$0###Lgui/ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$10;#
##actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/ClusterHeadConfPanel#####
#access$9##9(Lgui/ClusterHeadConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$11.class ns-allinone-
2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$11.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$11.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$11.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/ClusterHeadConfPanel$11######java/lang/Object######java/awt/event/
ActionListener######this$0###Lgui/ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$11;#
##actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/ClusterHeadConfPanel#####
access$10##9(Lgui/ClusterHeadConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$12.class ns-allinone-
2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$12.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$12.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$12.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/ClusterHeadConfPanel$12######java/awt/event/FocusAdapter######this$0###Lgui/
ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$12;#
# focusLost###(Ljava/awt/event/FocusEvent;)V###gui/ClusterHeadConfPanel#####
access$11##8(Lgui/ClusterHeadConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####�#########
#####
+###############
+###A####### *�##+�##�#########
+#####�###�########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$1.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$1.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$1.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$1.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/ClusterHeadConfPanel$1######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$1;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/ClusterHeadConfPanel######
access$0##9(Lgui/ClusterHeadConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####5#########
#####
+###############
###A####### *�##+�##�#########
+#####7###8########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$2.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$2.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$2.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$2.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/ClusterHeadConfPanel$2######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$2;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/ClusterHeadConfPanel######
access$1##9(Lgui/ClusterHeadConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####E#########
#####
+###############
###A####### *�##+�##�#########
+#####G###H########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$3.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$3.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$3.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$3.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/ClusterHeadConfPanel$3######java/awt/event/FocusAdapter######this$0###Lgui/C
lusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$3;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/ClusterHeadConfPanel######access$2
##8(Lgui/ClusterHeadConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####J#########
#####
+###############
+###A####### *�##+�##�#########
+#####L###M########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$4.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$4.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$4.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$4.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/ClusterHeadConfPanel$4######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$4;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/ClusterHeadConfPanel######
access$3##9(Lgui/ClusterHeadConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####_#########
#####
+###############
###A####### *�##+�##�#########
+#####a###b########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$5.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$5.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$5.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$5.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/ClusterHeadConfPanel$5######java/awt/event/FocusAdapter######this$0###Lgui/C
lusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$5;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/ClusterHeadConfPanel######access$4
##8(Lgui/ClusterHeadConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####d#########
#####
+###############
+###A####### *�##+�##�#########
+#####f###g########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$6.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$6.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$6.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$6.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/ClusterHeadConfPanel$6######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$6;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/ClusterHeadConfPanel######
access$5##9(Lgui/ClusterHeadConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####y#########
#####
+###############
###A####### *�##+�##�#########
+#####{###|########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$7.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$7.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$7.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$7.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/ClusterHeadConfPanel$7######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$7;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/ClusterHeadConfPanel######
access$6##9(Lgui/ClusterHeadConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$8.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$8.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$8.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$8.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/ClusterHeadConfPanel$8######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/ClusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$8;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/ClusterHeadConfPanel######
access$7##9(Lgui/ClusterHeadConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$9.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$9.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$9.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel$9.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/ClusterHeadConfPanel$9######java/awt/event/FocusAdapter######this$0###Lgui/C
lusterHeadConfPanel;##
Synthetic###<init>###(Lgui/ClusterHeadConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel$9;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/ClusterHeadConfPanel######access$8
##8(Lgui/ClusterHeadConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####�#########
#####
+###############
+###A####### *�##+�##�#########
+#####�###�########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,106 @@
+���###.#�###gui/ClusterHeadConfPanel######javax/swing/JPanel######clusterHeadAppli
cationComboBox###Ljavax/swing/JComboBox;###clusterHeadApplicationLabel###Ljavax/swi
ng/JLabel;###clusterHeadApplicationLabel1###clusterHeadDissIntervalLabel##
clusterHeadDissIntervalTextField###Ljavax/swing/JTextField;###clusterHeadDissTypeCo
mboBox###clusterHeadDissTypeLabel###clusterHeadEnergyLabel###clusterHeadEnergyTextF
ield###clusterHeadLocationComboBox###clusterHeadLocationLabel###clusterHeadNumberLa
bel###clusterHeadNumberTextField###clusterHeadProcessingComboBox###clusterHeadPtLab
el##%clusterHeadTransmissionRangeTextField###joulesLabel##
secondsLabel##secondsLabel1###<init>###()V###Code
####
+#######initComponents
# ##
+###!
###LineNumberTable###LocalVariableTable###this###Lgui/ClusterHeadConfPanel;###javax
/swing/JComboBox##'
+#(##
#### ###*###javax/swing/JLabel##,
+#-##
#### ###/###javax/swing/JTextField##1
+#2##
###
###4
#### ###6
#### ###8
###
###:
#### ###<
#### ###>
#### ###@
#### ###B
#### ###D
### ###F
#### ###H
###
###J
#
+## ###L
# ## ###N
#### ###P
###
###R
#### ###T## setLayout###(Ljava/awt/LayoutManager;)V
#V#W
+###X###java/awt/Color##Z###(III)V
###\
+#[#]##setBackground###(Ljava/awt/Color;)V
#_#`
+###a##java/awt/Font##c###Arial##e###(Ljava/lang/String;II)V
###g
+#d#h###setFont###(Ljava/awt/Font;)V
#j#k
+#(#l##
javax/swing/DefaultComboBoxModel##n###java/lang/String##p##"Application/ClusterHead
Application##r###([Ljava/lang/Object;)V
###t
+#o#u###setModel###(Ljavax/swing/ComboBoxModel;)V
#w#x
+#(#y###gui/ClusterHeadConfPanel$1##{###(Lgui/ClusterHeadConfPanel;)V
###}
+#|#~###addActionListener##"(Ljava/awt/event/ActionListener;)V
#�#�
+#(#�###add##*(Ljava/awt/Component;)Ljava/awt/Component;
#�#�
+###�## setBounds###(IIII)V
#�#�
+#(#�
+#-#l###CLUSTER HEAD NUMBER: ##�###setText###(Ljava/lang/String;)V
#�#�
+#-#�
+#-#�
+#2#l###0##�
+#2#�###gui/ClusterHeadConfPanel$2##�
+#�#~
+#2#�###gui/ClusterHeadConfPanel$3##�
+#�#~###addFocusListener##!(Ljava/awt/event/FocusListener;)V
#�#�
+#2#�
+#2#�###CLUSTER HEAD LOCATION:##�###INITIAL
ENERGY:##�###1000##�###gui/ClusterHeadConfPanel$4##�
+#�#~###gui/ClusterHeadConfPanel$5##�
+#�#~###Joules##�###CLUSTER HEAD
APPLICATION:##�###RANDOM##�###GRID##�###gui/ClusterHeadConfPanel$6##�
+#�#~###TRANSMISSION RANGE:##�###DISSEMINATION TYPE: ##�##
+Continuous##�##
+Programmed##�## On Demand##�###setSelectedIndex###(I)V
#�#�
+#(#�###gui/ClusterHeadConfPanel$7##�
+#�#~###seconds##�###20##�###gui/ClusterHeadConfPanel$8##�
+#�#~###gui/ClusterHeadConfPanel$9##�
+#�#~###DISSEMINATION INTERVAL:##�###PROCESSING
TYPE:##�###Processing/AggregateProcessing##�###gui/ClusterHeadConfPanel$10##�
+#�#~###70##�###gui/ClusterHeadConfPanel$11##�
+#�#~###gui/ClusterHeadConfPanel$12##�
+#�#~###meters##�##)clusterHeadDissIntervalTextFieldFocusLost###(Ljava/awt/event/Fo
cusEvent;)V###java/awt/event/FocusEvent##�## getSource###()Ljava/lang/Object;
#�#�
+#�#�###getText###()Ljava/lang/String;
#�#�
+#2#�###length###()I
#�#�
+#q#�###java/lang/Double##�###parseDouble###(Ljava/lang/String;)D
#�#�
+#�#�##gui/MainFrame##�###getTcl###()Lgui/TclFields;
####
+######gui/TclFields######setClusterHeadDissInterval###(D)V
####
+### ##
requestFocus
####
+#2#
###java/lang/NumberFormatException######evt###Ljava/awt/event/FocusEvent;##
textField###content###Ljava/lang/String;###aux###D###nfe##!
Ljava/lang/NumberFormatException;##.clusterHeadTransmissionRangeTextFieldFocusLost#
##setClusterHeadTransmissionRange
####
+#######clusterHeadEnergyTextFieldFocusLost###setClusterHeadEnergy
####
+#######clusterHeadNumberTextFieldFocusLost###java/lang/Integer##"###parseInt###(Lj
ava/lang/String;)I
#$#%
+###&###setClusterHeadNumber
#(#�
+###)###I##)clusterHeadNumberTextFieldActionPerformed###(Ljava/awt/event/ActionEven
t;)V##
+getToolkit###()Ljava/awt/Toolkit;
#.#/
+###0###java/awt/Toolkit##2###beep
#4##
+#3#5###setXMLSaved###(Z)V
#7#8
+###9###Ljava/awt/event/ActionEvent;###s##*clusterHeadLocationComboBoxActionPerform
ed###getSelectedItem
#>#�
+#(#?###setClusterHeadLocation
#A#�
+###B##)clusterHeadEnergyTextFieldActionPerformed##-
clusterHeadApplicationComboBoxActionPerformed###setClusterHeadApplication
#F#�
+###G##,clusterHeadProcessingComboBoxActionPerformed###setClusterHeadProcessingType
#J#�
+###K##4clusterHeadTransmissionRangeTextFieldActionPerformed##*clusterHeadDissTypeC
omboBoxActionPerformed###setClusterHeadDissType
#O#�
+###P##/clusterHeadDissIntervalTextFieldActionPerformed###setClusterHeadLocationCom
boBox###addItem###(Ljava/lang/Object;)V
#T#U
+#(#V###setSelectedItem
#X#U
+#(#Y###setClusterHeadNumberTextField###setClusterHeadEnergyTextField##!
setClusterHeadApplicationComboBox##
setClusterHeadProcessingComboBox##(setClusterHeadTransmissionRangeTextField###setCl
usterHeadDissTypeComboBox###setClusterHeadDissIntervalTextField##
updateFields###(Lgui/TclFields;)V###getClusterHeadLocation
#d#�
+###e
#S#�
+###g###getClusterHeadNumber
#i#�
+###j###valueOf###(I)Ljava/lang/String;
#l#m
+#q#n
#[#�
+###p###getClusterHeadEnergy###()D
#r#s
+###t###(D)Ljava/lang/String;
#l#v
+#q#w
#\#�
+###y###getClusterHeadApplication
#{#�
+###|
#]#�
+###~###getClusterHeadProcessingType
#�#�
+###�
#^#�
+###�###getClusterHeadTransmissionRange
#�#s
+###�
#_#�
+###�###getClusterHeadDissType
#�#�
+###�
#`#�
+###�###getClusterHeadDissInterval
#�#s
+###�
#a#�
+###�###tcl###Lgui/TclFields;###access$0##9(Lgui/ClusterHeadConfPanel;Ljava/awt/eve
nt/ActionEvent;)V## Synthetic
#E#-
+###�###access$1
#,#-
+###�###access$2##8(Lgui/ClusterHeadConfPanel;Ljava/awt/event/FocusEvent;)V
#!#�
+###�###access$3
#D#-
+###�###access$4
###�
+###�###access$5
#=#-
+###�###access$6
#N#-
+###�###access$7
#R#-
+###�###access$8
#�#�
+###�###access$9
#I#-
+###�## access$10
#M#-
+###�## access$11
###�
+###�##
+SourceFile###ClusterHeadConfPanel.java##
InnerClasses#!########################### #######
+#########
##############################
###############################
#######################
#########################################;#######
*�##*�#"�#########################$###
##### #%#&##### #########�#######�*�#(Y�#)�#+*�#-Y�#.�#0*�#2Y�#3�#5*�#-Y�#.�#7*�#-
Y�#.�#9*�#2Y�#3�#;*�#-Y�#.�#=*�#-Y�#.�#?*�#(Y�#)�#A*�#-Y�#.�#C*�#-
Y�#.�#E*�#(Y�#)�#G*�#-Y�#.�#I*�#2Y�#3�#K*�#-Y�#.�#M*�#-
Y�#.�#O*�#(Y�#)�#Q*�#2Y�#3�#S*�#-
Y�#.�#U*#�#Y*�#[Y##�##�##�#^�#b*�#+�#dY#f###�#i�#m*�#+�#oY#�#qY##sS�#v�#z*�#+�#|
Y*�#�#�**�#+�#�W*�#+##�##�#####�#�*�#0�#dY#f###�#i�#�*�#0#��#�**�#0�#�W*�#0######�
##�#�*�#5�#dY#f###�#i�#�*�#5#��#�*�#5�#�Y*�#��#�*�#5�#�Y*�#��#�**�#5�#�W*�#5##�####
###�#�*�#7�#dY#f###�#i�#�*�#7#��#�**�#7�#�W*�#7###<##�##�#�*�#9�#dY#f###�#i�#�*�#9#
��#�**�#9�#�W*�#9###d#Q##�#�*�#;�#dY#f###�#i�#�*�#;#��#�*�#;�#�Y*�#��#�*�#;�#�Y*�#�
�#�**�#;�#�W*�#;##�#d##�##�#�*�#=�#dY#f###�#i�#�*�#=#��#�**�#=�#�W*�#=##�#d####�#�*
�#?�#dY#f###�#i�#�*�#?#��#�**�#?�#�W*�#?
####�##�##�#�*�#A�#dY#f###�#i�#m*�#A�#oY#�#qY##�SY##�S�#v�#z*�#A�#�Y*�#��#�**�#A�#�
W*�#A##�#<#####�#�*�#C�#dY#f###�#i�#�*�#C#��#�**�#C�#�W*�#C####�#v##�#�*�#E�#dY#f##
#�#i�#�*�#E#��#�**�#E�#�W*�#E######p##�#�*�#G�#dY#f###�#i�#m*�#G�#oY#�#qY##�SY##�SY
##�S�#v�#z*�#G#�#�*�#G�#�Y*�#˶#�**�#G�#�W*�#G##�########�#�*�#I�#dY#f###�#i�#�*�#I#
Ͷ#�**�#I�#�W*�#I##�##,#*##�#�*�#K�#dY#f###�#i�#�*�#K#϶#�*�#K�#�Y*�#Ҷ#
�*�#K�#�Y*�#ն#�**�#K�#�W*�#K##�##,##�##�#�*�#M�#dY#f###�#i�#�*�#M# ‫׶‬#�**�#M�#�W*�#M#
###,##�##�#�*�#O�#dY#f###�#i�#�*�#O# ‫ٶ‬#�**�#O�#�W*�#O####�#a##�#�*�#Q�#dY#f###�#i�#m
*�#Q�#oY#�#qY##�S�#v�#z*�#Q�#�Y*�# ޶#�**�#Q�#�W*�#Q##�##�#####�#�*�#S�#dY#f###�#i�#�
*�#S#�#�*�#S�#�Y*�#�#�*�#S�#�Y*�#�#�**�#S�#�W*�#S##�##�##�##�#�*�#U�#dY#f###�#i�#�*
�#U#�#�**�#U�#�W*�#U##�##�#!##�#��#########�#o#############!###,# #7#!
#B#"#M###X#$#c#%#n#&#y#'#�#(#�#)#�#*#�#+#�#,#�#-
#�#.#�#0#�#2#�#3#�#4###5###;#,#<#>#>#Q#?
#Z#@#c#A#s#C#�#D#�#E#�#J#�#P#�#Q#�#S#�#T#�#U#�#V#�#X###Y###Z#!
#[#0#]#C#^#L#_#[#d#j#j#s#k#�#m#�#n#�#o#�#p#�#r#�#s#�#t#�#u#�#w###x###y#-
##6#�#G#�#Z#�#c#�#l#�#|
#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�#*#�#3#�#<#�#M#�#`#�#i#�#x#�#�#�#�#�#�#�#
�#�#�#�#�#�#�#�#�#�#�#�#�#�##�#
#�#7#�#F#�#O#�#a#�#t#�#}#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#$###
#####�#%#&#####�#�#######�#######,+�#��#2M,�#�N-�#�##-�#�9#�####�#
+�# :#,�#�#####%#%#########"#####�###�##�###�###�#%#�#'#�#+#�#$###>#####,#
%#&#####,#########$###
######################'#############�#######�#######,+�#��#2M,�#�N-�#�##-
�#�9#�####�##�# :#,�#�#####%#%#########"#####�###�##�###�###�#
%#�#'#�#+#�#$###>#####,#%#&#####,#########$###
######################'#############�#######�#######,+�#��#2M,�#�N-�#�##-
�#�9#�####�# �# :#,�#�#####%#%#########"#####�###�##�###�###�#
%#�#'#�#+#�#$###>#####,#%#&#####,#########$###
######################'###########!#�#######�#######,+�#��#2M,�#�N-�#�##-
�#'6#�####�#*�# :#,�#�#####%#%#########"######################
%###'###+###$###>#####,#%#&#####,#########$###
##################+###'###########,#-#######�#######5#=*�#5�#�N-�#�#"-
�#'=�###�#*�##:#*�#1�#6*�#5�##�#:�##### # #########*#
+#########
+########### ###"###)###0###4###$###4#####5#%#&#####5###;#####3###+###
+#+#<#####"###########=#-#######Q########�##*�#A�#@�#q�#C#�#:�###################
###!#$###########%#&#########;#####D#-
#######�#######8#I*�#;�#�:###�#�####�#�I�##(�# �##:#*�#1�#6*�#;�#
#�#:�#################*#
+###%###&###'###)###*###+#%#,#,#-#3#0#7#1#$###4#####8#%#&#####8###;#####6#########-
#<#####%###########E#-
#######Q########�##*�#+�#@�#q�#H#�#:�###############5###6###7#$###########
%#&#########;#####I#-
#######Q########�##*�#Q�#@�#q�#L#�#:�###############;###<###=#$###########
%#&#########;#####M#-
#######�#######8#I*�#S�#�:###�#�####�#�I�##(�##�##:#*�#1�#6*�#S�#
#�#:�#################*#
+###A###B###C###E###F###G#%#H#,#I#3#L#7#M#$###4#####8#%#&#####8###;#####6#########-
#<#####%###########N#-
#######Q########�##*�#G�#@�#q�#Q#�#:�###############Q###R###S#$###########
%#&#########;#####R#-#######�#######8#I*�#K�#�:###�#�####�#�I�##(�#
+�##:#*�#1�#6*�#K�##�#:�#################*#
+###W###X###Y###[###\###]#%#^#,#_#3#b#7#c#$###4#####8#%#&#####8###;#####6#########-
#<#####
%###########S#�#######M########*�#A+�#W*�#A+�#Z�###############j###k###l#$#########
##%#&#######<#######[#�#######A####### *�#5+�#��#########
+#####o###p#$######### #%#&##### #<#######\#�#######A####### *�#;+�#��#########
+#####s###t#$######### #%#&##### #<#######]#�#######M########*�#++�#W*�#+
+�#Z�###############w###x###y#$###########
%#&#######<#######^#�#######M########*�#Q+�#W*�#Q+�#Z�###############|
###}###~#$###########%#&#######<#######_#�#######A####### *�#S+�#��#########
+#####�###�#$######### #%#&#####

#<#######`#�#######M########*�#G+�#W*�#G+�#Z�###############�###�###�#$###########
%#&#######<#######a#�#######A####### *�#K+�#��#########
+#####�###�#$######### #%#&#####

#<#######b#c#######�#######M*+�#f�#h*+�#k�#o�#q*+�#u�#x�#z*+�#}�#*+�#��#�*+�#��#x�
#�*+�#��#�*+�#��#x�#��#########&#
###�###�###�###�#&#�#.#�#9#�#A#�#L#�#$#########M#
%#&#####M#�#�#####�#�###�#########&########*+�#��###############3#$#########�#�###�
#########&########*+�#��###############
#$#########�#�###�#########&########*+�#��#################$#########�#�###�#######
##&########*+�#��#################$#########�#�###�#########&########*+�#��########
#######�#$#########�#�###�#########&########*+�#��#################$#########�#�###
�#########&########*+�#��###############O#$#########�#�###�#########&########*+�#��
###############U#$#########�#�###�#########&########*+�#��###############�#$#######
##�#�###�#########&########*+�#��###############9#$#########�#�###�#########&######
##*+�#��###############?
#$#########�#�###�#########&########*+�#��###############�#$#########�#####�#�###b#
#|
#######�#######�#######�#######�#######�#######�#######�#######�#######�#######�###
####�######
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.form ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.form
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.form 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.form 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ </Properties>
+ <AuxValues>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer"
value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-
19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,1
10,65,-114,-39,-41,-
84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112
,0,0,1,124,0,0,2,70"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
+ <Property name="useNullLayout" type="boolean" value="true"/>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JComboBox"
name="clusterHeadApplicationComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="Application/ClusterHeadApplication"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadApplicationComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="140" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="clusterHeadNumberLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="CLUSTER HEAD NUMBER:
"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="clusterHeadNumberTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="0"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadNumberTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="clusterHeadNumberTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="20" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="clusterHeadLocationLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="CLUSTER HEAD
LOCATION:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="60" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="clusterHeadEnergyLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="INITIAL ENERGY:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="100" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="clusterHeadEnergyTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="1000"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadEnergyTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="clusterHeadEnergyTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="100" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="joulesLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Joules"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="450" y="100" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="clusterHeadApplicationLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="CLUSTER HEAD
APPLICATION:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="140" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="clusterHeadLocationComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="2">
+ <StringItem index="0" value="RANDOM"/>
+ <StringItem index="1" value="GRID"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadLocationComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="60" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="clusterHeadPtLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="TRANSMISSION
RANGE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="220" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="clusterHeadDissTypeLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="DISSEMINATION TYPE:
"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="260" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="clusterHeadDissTypeComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="3">
+ <StringItem index="0" value="Continuous"/>
+ <StringItem index="1" value="Programmed"/>
+ <StringItem index="2" value="On Demand"/>
+ </StringArray>
+ </Property>
+ <Property name="selectedIndex" type="int" value="1"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadDissTypeComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="260" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="secondsLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="seconds"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="440" y="300" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField"
name="clusterHeadDissIntervalTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="20"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadDissIntervalTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="clusterHeadDissIntervalTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="300" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="clusterHeadDissIntervalLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="DISSEMINATION
INTERVAL:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="300" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="clusterHeadApplicationLabel1">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="PROCESSING TYPE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="180" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="clusterHeadProcessingComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="Processing/AggregateProcessing"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadProcessingComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="180" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField"
name="clusterHeadTransmissionRangeTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="70"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadTransmissionRangeTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="clusterHeadTransmissionRangeTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="220" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="secondsLabel1">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="meters"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="450" y="220" width="-1" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+</Form>
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.java ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.java
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.java 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/ClusterHeadConfPanel.java 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,431 @@
+/*
+ * ClusterHeadConfPanel.java
+ *
+ * Created on 25 de Novembro de 2005, 10:59
+ */
+
+package gui;
+
+/**
+ *
+ * @author Helen Peters
+ */
+public class ClusterHeadConfPanel extends javax.swing.JPanel {
+
+ /** Creates new form ClusterHeadConfPanel */
+ public ClusterHeadConfPanel() {
+ initComponents();
+ }
+
+
+ /** This method is called from within the constructor to
+ * initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is
+ * always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
+ private void initComponents() {
+ clusterHeadApplicationComboBox = new javax.swing.JComboBox();
+ clusterHeadNumberLabel = new javax.swing.JLabel();
+ clusterHeadNumberTextField = new javax.swing.JTextField();
+ clusterHeadLocationLabel = new javax.swing.JLabel();
+ clusterHeadEnergyLabel = new javax.swing.JLabel();
+ clusterHeadEnergyTextField = new javax.swing.JTextField();
+ joulesLabel = new javax.swing.JLabel();
+ clusterHeadApplicationLabel = new javax.swing.JLabel();
+ clusterHeadLocationComboBox = new javax.swing.JComboBox();
+ clusterHeadPtLabel = new javax.swing.JLabel();
+ clusterHeadDissTypeLabel = new javax.swing.JLabel();
+ clusterHeadDissTypeComboBox = new javax.swing.JComboBox();
+ secondsLabel = new javax.swing.JLabel();
+ clusterHeadDissIntervalTextField = new javax.swing.JTextField();
+ clusterHeadDissIntervalLabel = new javax.swing.JLabel();
+ clusterHeadApplicationLabel1 = new javax.swing.JLabel();
+ clusterHeadProcessingComboBox = new javax.swing.JComboBox();
+ clusterHeadTransmissionRangeTextField = new javax.swing.JTextField();
+ secondsLabel1 = new javax.swing.JLabel();
+
+ setLayout(null);
+
+ setBackground(new java.awt.Color(240, 238, 231));
+ clusterHeadApplicationComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadApplicationComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[]
{ "Application/ClusterHeadApplication" }));
+ clusterHeadApplicationComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadApplicationComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(clusterHeadApplicationComboBox);
+ clusterHeadApplicationComboBox.setBounds(210, 140, 270, 22);
+
+ clusterHeadNumberLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadNumberLabel.setText("CLUSTER HEAD NUMBER: ");
+ add(clusterHeadNumberLabel);
+ clusterHeadNumberLabel.setBounds(20, 20, 128, 14);
+
+ clusterHeadNumberTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadNumberTextField.setText("0");
+ clusterHeadNumberTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadNumberTextFieldActionPerformed(evt);
+ }
+ });
+ clusterHeadNumberTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ clusterHeadNumberTextFieldFocusLost(evt);
+ }
+ });
+
+ add(clusterHeadNumberTextField);
+ clusterHeadNumberTextField.setBounds(210, 20, 270, 19);
+
+ clusterHeadLocationLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadLocationLabel.setText("CLUSTER HEAD LOCATION:");
+ add(clusterHeadLocationLabel);
+ clusterHeadLocationLabel.setBounds(20, 60, 135, 14);
+
+ clusterHeadEnergyLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadEnergyLabel.setText("INITIAL ENERGY:");
+ add(clusterHeadEnergyLabel);
+ clusterHeadEnergyLabel.setBounds(20, 100, 81, 14);
+
+ clusterHeadEnergyTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadEnergyTextField.setText("1000");
+ clusterHeadEnergyTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadEnergyTextFieldActionPerformed(evt);
+ }
+ });
+ clusterHeadEnergyTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ clusterHeadEnergyTextFieldFocusLost(evt);
+ }
+ });
+
+ add(clusterHeadEnergyTextField);
+ clusterHeadEnergyTextField.setBounds(210, 100, 220, 19);
+
+ joulesLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ joulesLabel.setText("Joules");
+ add(joulesLabel);
+ joulesLabel.setBounds(450, 100, 31, 20);
+
+ clusterHeadApplicationLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadApplicationLabel.setText("CLUSTER HEAD APPLICATION:");
+ add(clusterHeadApplicationLabel);
+ clusterHeadApplicationLabel.setBounds(20, 140, 149, 14);
+
+ clusterHeadLocationComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadLocationComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[] { "RANDOM", "GRID" }));
+ clusterHeadLocationComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadLocationComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(clusterHeadLocationComboBox);
+ clusterHeadLocationComboBox.setBounds(210, 60, 270, 22);
+
+ clusterHeadPtLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadPtLabel.setText("TRANSMISSION RANGE:");
+ add(clusterHeadPtLabel);
+ clusterHeadPtLabel.setBounds(20, 220, 118, 14);
+
+ clusterHeadDissTypeLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadDissTypeLabel.setText("DISSEMINATION TYPE: ");
+ add(clusterHeadDissTypeLabel);
+ clusterHeadDissTypeLabel.setBounds(20, 260, 112, 14);
+
+ clusterHeadDissTypeComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadDissTypeComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[] { "Continuous", "Programmed", "On
Demand" }));
+ clusterHeadDissTypeComboBox.setSelectedIndex(1);
+ clusterHeadDissTypeComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadDissTypeComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(clusterHeadDissTypeComboBox);
+ clusterHeadDissTypeComboBox.setBounds(210, 260, 270, 22);
+
+ secondsLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ secondsLabel.setText("seconds");
+ add(secondsLabel);
+ secondsLabel.setBounds(440, 300, 42, 20);
+
+ clusterHeadDissIntervalTextField.setFont(new java.awt.Font("Arial", 0,
11));
+ clusterHeadDissIntervalTextField.setText("20");
+ clusterHeadDissIntervalTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadDissIntervalTextFieldActionPerformed(evt);
+ }
+ });
+ clusterHeadDissIntervalTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ clusterHeadDissIntervalTextFieldFocusLost(evt);
+ }
+ });
+
+ add(clusterHeadDissIntervalTextField);
+ clusterHeadDissIntervalTextField.setBounds(210, 300, 220, 19);
+
+ clusterHeadDissIntervalLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadDissIntervalLabel.setText("DISSEMINATION INTERVAL:");
+ add(clusterHeadDissIntervalLabel);
+ clusterHeadDissIntervalLabel.setBounds(20, 300, 133, 14);
+
+ clusterHeadApplicationLabel1.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadApplicationLabel1.setText("PROCESSING TYPE:");
+ add(clusterHeadApplicationLabel1);
+ clusterHeadApplicationLabel1.setBounds(20, 180, 97, 14);
+
+ clusterHeadProcessingComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ clusterHeadProcessingComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[]
{ "Processing/AggregateProcessing" }));
+ clusterHeadProcessingComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadProcessingComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(clusterHeadProcessingComboBox);
+ clusterHeadProcessingComboBox.setBounds(210, 180, 270, 22);
+
+ clusterHeadTransmissionRangeTextField.setFont(new java.awt.Font("Arial",
0, 11));
+ clusterHeadTransmissionRangeTextField.setText("70");
+ clusterHeadTransmissionRangeTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadTransmissionRangeTextFieldActionPerformed(evt);
+ }
+ });
+ clusterHeadTransmissionRangeTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ clusterHeadTransmissionRangeTextFieldFocusLost(evt);
+ }
+ });
+
+ add(clusterHeadTransmissionRangeTextField);
+ clusterHeadTransmissionRangeTextField.setBounds(210, 220, 220, 19);
+
+ secondsLabel1.setFont(new java.awt.Font("Arial", 0, 11));
+ secondsLabel1.setText("meters");
+ add(secondsLabel1);
+ secondsLabel1.setBounds(450, 220, 33, 20);
+
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void
clusterHeadDissIntervalTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-
FIRST:event_clusterHeadDissIntervalTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setClusterHeadDissInterval(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_clusterHeadDissIntervalTextFieldFocusLost
+
+ private void
clusterHeadTransmissionRangeTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_clusterHeadTransmissionRangeTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setClusterHeadTransmissionRange(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_clusterHeadTransmissionRangeTextFieldFocusLost
+
+ private void clusterHeadEnergyTextFieldFocusLost(java.awt.event.FocusEvent
evt) {//GEN-FIRST:event_clusterHeadEnergyTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setClusterHeadEnergy(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_clusterHeadEnergyTextFieldFocusLost
+
+ private void clusterHeadNumberTextFieldFocusLost(java.awt.event.FocusEvent
evt) {//GEN-FIRST:event_clusterHeadNumberTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ int aux = Integer.parseInt(content);
+ MainFrame.getTcl().setClusterHeadNumber(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_clusterHeadNumberTextFieldFocusLost
+
+ private void
clusterHeadNumberTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_clusterHeadNumberTextFieldActionPerformed
+
+ int aux = 0;
+ String s = clusterHeadNumberTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Integer.parseInt(s);
+ MainFrame.getTcl().setClusterHeadNumber(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ clusterHeadNumberTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_clusterHeadNumberTextFieldActionPerformed
+
+ private void
clusterHeadLocationComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_clusterHeadLocationComboBoxActionPerformed
+
+
MainFrame.getTcl().setClusterHeadLocation((String)clusterHeadLocationComboBox.getSe
lectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_clusterHeadLocationComboBoxActionPerformed
+
+ private void
clusterHeadEnergyTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_clusterHeadEnergyTextFieldActionPerformed
+
+ double aux = 0;
+ String s = clusterHeadEnergyTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setClusterHeadEnergy(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ clusterHeadEnergyTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_clusterHeadEnergyTextFieldActionPerformed
+
+ private void
clusterHeadApplicationComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_clusterHeadApplicationComboBoxActionPerformed
+
+
MainFrame.getTcl().setClusterHeadApplication((String)clusterHeadApplicationComboBox
.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_clusterHeadApplicationComboBoxActionPerformed
+
+ private void
clusterHeadProcessingComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_clusterHeadProcessingComboBoxActionPerformed
+
+
MainFrame.getTcl().setClusterHeadProcessingType((String)clusterHeadProcessingComboB
ox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_clusterHeadProcessingComboBoxActionPerformed
+
+ private void
clusterHeadTransmissionRangeTextFieldActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_clusterHeadTransmissionRangeTextFieldActionPerformed
+
+ double aux = 0;
+ String s = clusterHeadTransmissionRangeTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setClusterHeadTransmissionRange(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ clusterHeadTransmissionRangeTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_clusterHeadTransmissionRangeTextFieldActionPerformed
+
+ private void
clusterHeadDissTypeComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_clusterHeadDissTypeComboBoxActionPerformed
+
+
MainFrame.getTcl().setClusterHeadDissType((String)clusterHeadDissTypeComboBox.getSe
lectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_clusterHeadDissTypeComboBoxActionPerformed
+
+ private void
clusterHeadDissIntervalTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_clusterHeadDissIntervalTextFieldActionPerformed
+
+ double aux = 0;
+ String s = clusterHeadDissIntervalTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setClusterHeadDissInterval(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ clusterHeadDissIntervalTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_clusterHeadDissIntervalTextFieldActionPerformed
+
+
+
+
+
+ private void setClusterHeadLocationComboBox(String s) {
+ clusterHeadLocationComboBox.addItem(s);
+ clusterHeadLocationComboBox.setSelectedItem(s);
+ }
+
+ private void setClusterHeadNumberTextField(String s) {
+ clusterHeadNumberTextField.setText(s);
+ }
+
+ private void setClusterHeadEnergyTextField(String s) {
+ clusterHeadEnergyTextField.setText(s);
+ }
+
+ private void setClusterHeadApplicationComboBox(String s) {
+ clusterHeadApplicationComboBox.addItem(s);
+ clusterHeadApplicationComboBox.setSelectedItem(s);
+ }
+
+ private void setClusterHeadProcessingComboBox(String s) {
+ clusterHeadProcessingComboBox.addItem(s);
+ clusterHeadProcessingComboBox.setSelectedItem(s);
+ }
+
+ private void setClusterHeadTransmissionRangeTextField(String s) {
+ clusterHeadTransmissionRangeTextField.setText(s);
+ }
+
+ private void setClusterHeadDissTypeComboBox(String s) {
+ clusterHeadDissTypeComboBox.addItem(s);
+ clusterHeadDissTypeComboBox.setSelectedItem(s);
+ }
+
+ private void setClusterHeadDissIntervalTextField(String s) {
+ clusterHeadDissIntervalTextField.setText(s);
+ }
+
+
+ public void updateFields(TclFields tcl){
+ setClusterHeadLocationComboBox(tcl.getClusterHeadLocation());
+ setClusterHeadNumberTextField(String.valueOf(tcl.getClusterHeadNumber()));

+ setClusterHeadEnergyTextField(String.valueOf(tcl.getClusterHeadEnergy()));

+ setClusterHeadApplicationComboBox(tcl.getClusterHeadApplication());
+ setClusterHeadProcessingComboBox(tcl.getClusterHeadProcessingType());
+
setClusterHeadTransmissionRangeTextField(String.valueOf(tcl.getClusterHeadTransmiss
ionRange()));
+ setClusterHeadDissTypeComboBox(tcl.getClusterHeadDissType());
+
setClusterHeadDissIntervalTextField(String.valueOf(tcl.getClusterHeadDissInterval()
));
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JComboBox clusterHeadApplicationComboBox;
+ private javax.swing.JLabel clusterHeadApplicationLabel;
+ private javax.swing.JLabel clusterHeadApplicationLabel1;
+ private javax.swing.JLabel clusterHeadDissIntervalLabel;
+ private javax.swing.JTextField clusterHeadDissIntervalTextField;
+ private javax.swing.JComboBox clusterHeadDissTypeComboBox;
+ private javax.swing.JLabel clusterHeadDissTypeLabel;
+ private javax.swing.JLabel clusterHeadEnergyLabel;
+ private javax.swing.JTextField clusterHeadEnergyTextField;
+ private javax.swing.JComboBox clusterHeadLocationComboBox;
+ private javax.swing.JLabel clusterHeadLocationLabel;
+ private javax.swing.JLabel clusterHeadNumberLabel;
+ private javax.swing.JTextField clusterHeadNumberTextField;
+ private javax.swing.JComboBox clusterHeadProcessingComboBox;
+ private javax.swing.JLabel clusterHeadPtLabel;
+ private javax.swing.JTextField clusterHeadTransmissionRangeTextField;
+ private javax.swing.JLabel joulesLabel;
+ private javax.swing.JLabel secondsLabel;
+ private javax.swing.JLabel secondsLabel1;
+ // End of variables declaration//GEN-END:variables
+
+}
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$10.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$10.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$10.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$10.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$10######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$10;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel######a
ccess$9##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$11.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$11.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$11.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$11.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$11######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$11;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel#####
access$10##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$12.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$12.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$12.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$12.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$12######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$12;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel#####
access$11##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$13.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$13.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$13.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$13.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/CommonNodeConfPanel$13######java/awt/event/FocusAdapter######this$0###Lgui/C
ommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$13;##
focusLost###(Ljava/awt/event/FocusEvent;)V###gui/CommonNodeConfPanel#####
access$12##7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####�#########
#####
+###############
+###A####### *�##+�##�#########
+#####�###�########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$14.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$14.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$14.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$14.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$14######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$14;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel#####
access$13##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+##################### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$15.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$15.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$15.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$15.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$15######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$15;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel#####
access$14##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+###############
#####
+###############
###A####### *�##+�##�#########
+##################### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$16.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$16.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$16.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$16.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/CommonNodeConfPanel$16######java/awt/event/FocusAdapter######this$0###Lgui/C
ommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$16;##
focusLost###(Ljava/awt/event/FocusEvent;)V###gui/CommonNodeConfPanel#####
access$15##7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+###############
#####
+###############
+###A####### *�##+�##�#########
+##### ###!########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$17.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$17.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$17.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$17.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$17######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$17;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel#####
access$16##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####)#########
#####
+###############
###A####### *�##+�##�#########
+#####+###,########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$18.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$18.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$18.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$18.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/CommonNodeConfPanel$18######java/awt/event/FocusAdapter######this$0###Lgui/C
ommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$18;##
focusLost###(Ljava/awt/event/FocusEvent;)V###gui/CommonNodeConfPanel#####
access$17##7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####.#########
#####
+###############
+###A####### *�##+�##�#########
+#####0###1########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$19.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$19.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$19.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$19.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$19######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$19;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel#####
access$18##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####9#########
#####
+###############
###A####### *�##+�##�#########
+#####;###<########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$1.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$1.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$1.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$1.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$1######java/lang/Object######java/awt/event/Ac
tionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$1;###
actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel######ac
cess$0##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####A#########
#####
+###############
###A####### *�##+�##�#########
+#####C###D########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$20.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$20.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$20.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$20.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/CommonNodeConfPanel$20######java/awt/event/FocusAdapter######this$0###Lgui/C
ommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$20;##
focusLost###(Ljava/awt/event/FocusEvent;)V###gui/CommonNodeConfPanel#####
access$19##7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####>#########
#####
+###############
+###A####### *�##+�##�#########
+#####@###A########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$21.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$21.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$21.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$21.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$21######java/lang/Object######java/awt/event/A
ctionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$21;##
#actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel#####
access$20##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####N#########
#####
+###############
###A####### *�##+�##�#########
+#####P###Q########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$22.class ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$22.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$22.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$22.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/CommonNodeConfPanel$22######java/awt/event/FocusAdapter######this$0###Lgui/C
ommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$22;##
focusLost###(Ljava/awt/event/FocusEvent;)V###gui/CommonNodeConfPanel#####
access$21##7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####S#########
#####
+###############
+###A####### *�##+�##�#########
+#####U###V########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$2.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$2.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$2.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$2.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$2######java/lang/Object######java/awt/event/Ac
tionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$2;###
actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel######ac
cess$1##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####Q#########
#####
+###############
###A####### *�##+�##�#########
+#####S###T########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$3.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$3.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$3.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$3.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/CommonNodeConfPanel$3######java/awt/event/FocusAdapter######this$0###Lgui/Co
mmonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$3;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/CommonNodeConfPanel######access$2#
#7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####V#########
#####
+###############
+###A####### *�##+�##�#########
+#####X###Y########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$4.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$4.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$4.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$4.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$4######java/lang/Object######java/awt/event/Ac
tionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$4;###
actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel######ac
cess$3##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####k#########
#####
+###############
###A####### *�##+�##�#########
+#####m###n########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$5.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$5.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$5.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$5.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/CommonNodeConfPanel$5######java/awt/event/FocusAdapter######this$0###Lgui/Co
mmonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$5;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/CommonNodeConfPanel######access$4#
#7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####p#########
#####
+###############
+###A####### *�##+�##�#########
+#####r###s########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$6.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$6.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$6.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$6.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$6######java/lang/Object######java/awt/event/Ac
tionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$6;###
actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel######ac
cess$5##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$7.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$7.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$7.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$7.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$7######java/lang/Object######java/awt/event/Ac
tionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$7;###
actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel######ac
cess$6##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$8.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$8.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$8.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$8.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/CommonNodeConfPanel$8######java/lang/Object######java/awt/event/Ac
tionListener######this$0###Lgui/CommonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$8;###
actionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/CommonNodeConfPanel######ac
cess$7##8(Lgui/CommonNodeConfPanel;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$9.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$9.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$9.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel$9.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/CommonNodeConfPanel$9######java/awt/event/FocusAdapter######this$0###Lgui/Co
mmonNodeConfPanel;##
Synthetic###<init>###(Lgui/CommonNodeConfPanel;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel$9;##

focusLost###(Ljava/awt/event/FocusEvent;)V###gui/CommonNodeConfPanel######access$8#
#7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
####
+#######evt###Ljava/awt/event/FocusEvent;##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####�#########
#####
+###############
+###A####### *�##+�##�#########
+#####�###�########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,158 @@
+���###.#|
###gui/CommonNodeConfPanel######javax/swing/JPanel######averageDataLabel###Ljavax/s
wing/JLabel;###commonNodeApplicationComboBox###Ljavax/swing/JComboBox;###commonNode
ApplicationLabel###commonNodeApplicationLabel1###commonNodeDissIntervalLabel###comm
onNodeDissIntervalLabel1###commonNodeDissIntervalTextField###Ljavax/swing/JTextFiel
d;###commonNodeDissTypeComboBox###commonNodeDissTypeLabel###commonNodeDissTypeLabel
1###commonNodeEnergyLabel###commonNodeEnergyTextField###commonNodeLocationComboBox#
##commonNodeLocationLabel###commonNodeNumberLabel###commonNodeNumberTextField##
commonNodeProcessingTypeComboBox##"commonNodeSensingIntervalTextField###commonNodeS
ensingTypeComboBox##
commonNodeTransmissionRangeLabel##$commonNodeTransmissionRangeTextField###dataAvera
geTextField###dataGeneratorTypeComboBox###dataGeneratorTypeLabel###deviationLabel##
#deviationTextField###joulesLabel##
maxDataLabel###maxDataTextField###metersLabel##
secondsLabel##secondsLabel1###<init>###()V###Code
#(#)
+###+###initComponents
#-#)
+###.###LineNumberTable###LocalVariableTable###this###Lgui/CommonNodeConfPanel;###j
avax/swing/JComboBox##4
+#5#+
#### ###7###javax/swing/JLabel##9
+#:#+
#### ###<###javax/swing/JTextField##>
+#?#+
#### ###A
#### ###C
#### ###E
#### ###G
#"## ###I
# ## ###K
#### ###M
#### ###O
#### ###Q
#### ###S
#&## ###U
### ###W
#### ###Y
#
+## ###[
#### ###]
#### ###_
#
## ###a
#### ###c
#### ###e
#'## ###g
#### ###i
#### ###k
# ## ###m
#### ###o
#### ###q
#### ###s
#!## ###u
#$## ###w
#%## ###y
#### ###{## setLayout###(Ljava/awt/LayoutManager;)V
#}#~
+######java/awt/Color##�###(III)V
#(#�
+#�#�##setBackground###(Ljava/awt/Color;)V
#�#�
+###�##java/awt/Font##�###Arial##�###(Ljava/lang/String;II)V
#(#�
+#�#�###setFont###(Ljava/awt/Font;)V
#�#�
+#5#�## javax/swing/DefaultComboBoxModel##�###java/lang/String##�##
Application/ComonNodeApplication##�###([Ljava/lang/Object;)V
#(#�
+#�#�###setModel###(Ljavax/swing/ComboBoxModel;)V
#�#�
+#5#�###gui/CommonNodeConfPanel$1##�###(Lgui/CommonNodeConfPanel;)V
#(#�
+#�#�###addActionListener##"(Ljava/awt/event/ActionListener;)V
#�#�
+#5#�###add##*(Ljava/awt/Component;)Ljava/awt/Component;
#�#�
+###�## setBounds###(IIII)V
#�#�
+#5#�
+#:#�###COMMON NODE NUMBER: ##�###setText###(Ljava/lang/String;)V
#�#�
+#:#�
+#:#�
+#?#�###1##�
+#?#�###gui/CommonNodeConfPanel$2##�
+#�#�
+#?#�###gui/CommonNodeConfPanel$3##�
+#�#�###addFocusListener##!(Ljava/awt/event/FocusListener;)V
#�#�
+#?#�
+#?#�###COMMON NODE LOCATION:##�###INITIAL
ENERGY:##�###1000##�###gui/CommonNodeConfPanel$4##�
+#�#�###gui/CommonNodeConfPanel$5##�
+#�#�###Joules##�###COMMON NODE
APPLICATION:##�###RANDOM##�###GRID##�###gui/CommonNodeConfPanel$6##�
+#�#�###TRANSMISSION RANGE:##�###DISSEMINATION TYPE: ##�##
+Continuous##�##
+Programmed##�## On Demand##�###setSelectedIndex###(I)V
#�#�
+#5#�###gui/CommonNodeConfPanel$7##�
+#�#�###seconds##�###20##�###gui/CommonNodeConfPanel$8##�
+#�#�###gui/CommonNodeConfPanel$9##�
+#�#�###DISSEMINATION INTERVAL:##�###PROCESSING
TYPE:##�###Processing/AggregateProcessing######gui/CommonNodeConfPanel$10###
+###�###SENSING TYPE: ######SENSING INTERVAL:######gui/CommonNodeConfPanel$11##
+
+###�###5#####gui/CommonNodeConfPanel$12###
+###�###gui/CommonNodeConfPanel$13###
+###�###DATA GENERATOR
TYPE:######TemperatureDataGenerator######CarbonMonoxideDataGenerator######gui/Commo
nNodeConfPanel$14###
+###�###DATA STANDARD DEVIATION:######DATA AVERAGE VALUE:## ###MAXIMUM DATA
VALUE:##"###25##$###gui/CommonNodeConfPanel$15##&
+#'#�###gui/CommonNodeConfPanel$16##)
+#*#�###gui/CommonNodeConfPanel$17##,
+#-#�###gui/CommonNodeConfPanel$18##/
+#0#�###30##2###gui/CommonNodeConfPanel$19##4
+#5#�###gui/CommonNodeConfPanel$20##7
+#8#�###meters##:###50##<###gui/CommonNodeConfPanel$21##>
+#?#�###gui/CommonNodeConfPanel$22##A
+#B#�###maxDataTextFieldFocusLost###(Ljava/awt/event/FocusEvent;)V###java/awt/event
/FocusEvent##F## getSource###()Ljava/lang/Object;
#H#I
+#G#J###getText###()Ljava/lang/String;
#L#M
+#?#N###length###()I
#P#Q
+#�#R###java/lang/Double##T###parseDouble###(Ljava/lang/String;)D
#V#W
+#U#X##gui/MainFrame##Z###getTcl###()Lgui/TclFields;
#\#]
+#[#^##gui/TclFields##`###setCommonNodeMaximumData###(D)V
#b#c
+#a#d##
requestFocus
#f#)
+#?#g###java/lang/NumberFormatException##i###evt###Ljava/awt/event/FocusEvent;##
textField###content###Ljava/lang/String;###aux###D###nfe##!
Ljava/lang/NumberFormatException;###deviationTextFieldFocusLost###setCommonNodeData
Deviation
#u#c
+#a#v###dataAverageTextFieldFocusLost###setCommonNodeDataAverage
#y#c
+#a#z##+commonNodeSensingIntervalTextFieldFocusLost###setCommonNodeSensingInterval
#}#c
+#a#~##(commonNodeDissIntervalTextFieldFocusLost###setCommonNodeDissInterval
#�#c
+#a#�##-
commonNodeTransmissionRangeTextFieldFocusLost###setCommonNodeTransmissionRange
#�#c
+#a#�##"commonNodeEnergyTextFieldFocusLost###setCommonNodeEnergy
#�#c
+#a#�##"commonNodeNumberTextFieldFocusLost###java/lang/Integer##�###parseInt###(Lja
va/lang/String;)I
#�#�
+#�#�###setCommonNodeNumber
#�#�
+#a#�###I##3commonNodeTransmissionRangeTextFieldActionPerformed###(Ljava/awt/event/
ActionEvent;)V##
+getToolkit###()Ljava/awt/Toolkit;
#�#�
+###�###java/awt/Toolkit##�###beep
#�#)
+#�#�###setXMLSaved###(Z)V
#�#�
+#[#�###Ljava/awt/event/ActionEvent;###s##(commonNodeNumberTextFieldActionPerformed
##)commonNodeLocationComboBoxActionPerformed###getSelectedItem
#�#I
+#5#�###setCommonNodeLocation
#�#�
+#a#�##(commonNodeEnergyTextFieldActionPerformed##,commonNodeApplicationComboBoxAct
ionPerformed###setCommonNodeApplication
#�#�
+#a#�##/commonNodeProcessingTypeComboBoxActionPerformed###setCommonNodeProcessingTy
pe
#�#�
+#a#�##)commonNodeDissTypeComboBoxActionPerformed###setCommonNodeDissType
#�#�
+#a#�##.commonNodeDissIntervalTextFieldActionPerformed##,commonNodeSensingTypeCombo
BoxActionPerformed###setCommonNodeSensingType
#�#�
+#a#�##1commonNodeSensingIntervalTextFieldActionPerformed##(dataGeneratorTypeComboB
oxActionPerformed###setCommonNodeDataGeneratorType
#�#�
+#a#�###dataAverageTextFieldActionPerformed##!
deviationTextFieldActionPerformed###maxDataTextFieldActionPerformed##'setCommonNode
TransmissionRangeTextField###setCommonNodeNumberTextField###setCommonNodeLocationCo
mboBox###addItem###(Ljava/lang/Object;)V
#�#�
+#5#�###setSelectedItem
#�#�
+#5#�###setCommonNodeEnergyTextField##
setCommonNodeApplicationComboBox###setCommonNodeProcessingTypeComboBox###setCommonN
odeDissTypeComboBox##"setCommonNodeDissIntervalTextField##
setCommonNodeSensingTypeComboBox##
%setCommonNodeSensingIntervalTextField##&setCommonNodeDataGeneratorTypeComboBox##!
setCommonNodeDataAverageTextField###setCommonNodeDeviationTextField###setCommonNode
MaxDataTextField##
updateFields###(Lgui/TclFields;)V###getCommonNodeTransmissionRange###()D
#�#�
+#a#�###valueOf###(D)Ljava/lang/String;
#�#�
+#�#�
#�#�
+###�###getCommonNodeNumber
#�#Q
+#a#�###(I)Ljava/lang/String;
#�#�
+#�#�
#�#�
+###�###getCommonNodeLocation
#�#M
+#a#�
#�#�
+###�###getCommonNodeEnergy
#�#�
+#a#�
#�#�
+###�###getCommonNodeApplication
#�#M
+#a#�
#�#�
+#######getCommonNodeProcessingType
###M
+#a##
#�#�
+#######getCommonNodeDissType
###M
+#a##
#�#�
+###
+###getCommonNodeDissInterval
#
#�
+#a#
#�#�
+#######getCommonNodeSensingType
###M
+#a##
#�#�
+#######getCommonNodeSensingInterval
###�
+#a##
#�#�
+#######getCommonNodeDataGeneratorType
###M
+#a####&(Ljava/lang/Object;)Ljava/lang/String;
#�##
+#�##
#�#�
+###!###getCommonNodeDataAverage
###�
+#a#$
#�#�
+###&###getCommonNodeDataDeviation
#(#�
+#a#)
#�#�
+###+###getCommonNodeMaximumData
#-#�
+#a#.
#�#�
+###0###tcl###Lgui/TclFields;###access$0##8(Lgui/CommonNodeConfPanel;Ljava/awt/even
t/ActionEvent;)V## Synthetic
#�#�
+###7###access$1
#�#�
+###:###access$2##7(Lgui/CommonNodeConfPanel;Ljava/awt/event/FocusEvent;)V
#�#E
+###>###access$3
#�#�
+###A###access$4
#�#E
+###D###access$5
#�#�
+###G###access$6
#�#�
+###J###access$7
#�#�
+###M###access$8
#�#E
+###P###access$9
#�#�
+###S## access$10
#�#�
+###V## access$11
#�#�
+###Y## access$12
#|#E
+###\## access$13
#�#�
+###_## access$14
#�#�
+###b## access$15
#x#E
+###e## access$16
#�#�
+###h## access$17
#t#E
+###k## access$18
#�#�
+###n## access$19
#D#E
+###q## access$20
#�#�
+###t## access$21
#�#E
+###w##
+SourceFile###CommonNodeConfPanel.java##
InnerClasses#!####### ################### #######
+###############
#######
###################################################################################
############################################################ #######!
#######"###############$#######%#######&#######'#####=###(#)###*###;#######
*�#,*�#/�#####0###################1###
##### #2#3#####-#)###*#########
+
*�#5Y�#6�#8*�#:Y�#;�#=*�#?Y�#@�#B*�#:Y�#;�#D*�#:Y�#;�#F*�#?
Y�#@�#H*�#:Y�#;�#J*�#:Y�#;�#L*�#5Y�#6�#N*�#:Y�#;�#P*�#:Y�#;�#R*�#5Y�#6�#T*�#:Y�#;�#
V*�#?Y�#@�#X*�#:Y�#;�#Z*�#:Y�#;�#\*�#5Y�#6�#^*�#:Y�#;�#`*�#:Y�#;�#b*�#5Y�#6�#d*�#?
Y�#@�#f*�#:Y�#;�#h*�#:Y�#;�#j*�#5Y�#6�#l*�#:Y�#;�#n*�#:Y�#;�#p*�#:Y�#;�#r*�#?
Y�#@�#t*�#?Y�#@�#v*�#?Y�#@�#x*�#:Y�#;�#z*�#?Y�#@�#|
*#�#�*�#�Y##�##�##�#��#�*�#8�#�Y#�###�#��#�*�#8�#�Y#�#�Y##�S�#��#�*�#8�#�Y*�#��#�**
�#8�#�W*�#8##�##�#####�#�*�#=�#�Y#�###�#��#�*�#=#��#�**�#=�#�W*�#=######�##�#�*�#B�
#�Y#�###�#��#�*�#B#��#�*�#B�#�Y*�#�#�*�#B�#�Y*�#Ŷ#�**�#B�#�W*�#B##�####�##�#�*�#D�#
�Y#�###�#��#�*�#D#̶�
# **�#D�#�W*�#D###<##�##�#�*�#F�#�Y#�###�#��#�*�#F#ζ#�**�#F�#�W*�
#F###d#Q##�#�*�#H�#�Y#�###�#��#�*�#H#ж#�*�#H�#�Y*�#Ӷ#�*�#H�#�Y*�# ֶ#�**�#H�#�W*�#H##�
#d##�##�#�*�#J�#�Y#�###�#��#�*�#J# ‫ض‬#�**�#J�#�W*�#J##�#d#(##�#�*�#L�#�Y#�###�#��#�*
�#L#‫ڶ‬#�**�#L�#�W*�#L####�##�##�#�*�#N�#�Y#�###�#��#�*�#N�#�Y#�#�Y##�SY##�S�#��#�*�#
N�#�Y*�#�#�**�#N�#�W*�#N##�#<#####�#�*�#P�#�Y#�###�#��#�*�#P#�#�**�#P�#�W*�#P####�#
v##�#�*�#R�#�Y#�###�#��#�*�#R#�#�**�#R�#�W*�#R######p##�#�*�#T�#�Y#�###�#��#�*�#T�#
�Y#�#�Y##�SY##�SY##�S�#��#�*�#T#�#�*�#T�#�Y*�#�#�**�#T�#�W*�#T##�########�#�*�#V�#�
Y#�###�#��#�*�#V#�#�**�#V�#�W*�#V##�##,#2##�#�*�#X�#�Y#�###�#��#�*�#X#�#�*�#X�#�Y*�
#�#�*�#X�#�Y*�#�#�**�#X�#�W*�#X##�##,##�##�#�*�#Z�#�Y#�###�#��#�*�#Z#��#�**�#Z�#�W*
�#Z####,##�##�#�*�#\�#�Y#�###�#��#�*�#\###�#�**�#\�#�W*�#\####�#a##�#�*�#^�#�Y#�###
�#��#�*�#^�#�Y#�#�Y####S�#��#�*�#^�##Y*�##�#�**�#^�#�W*�#^##�##�#####�#�*�#`�#�Y#�#
##�#��#�*�#`###�#�**�#`�#�W*�#`####T#O##�#�*�#b�#�Y#�###�#��#�*�#b##
�#�**�#b�#�W*�#b####|
#d##�#�*�#d�#�Y#�###�#��#�*�#d�#�Y#�#�Y##�SY##�SY##�S�#��#�*�#d�##Y*�#
�#�**�#d�#�W*�#d##�##T#####�#�*�#f�#�Y#�###�#��#�*�#f###�#�*�#f�##Y*�##�#�*�#f�##Y*
�##�#�**�#f�#�W*�#f##�##|##�##�#�*�#h�#�Y#�###�#��#�*�#h#�#�**�#h�#�W*�#h##�##|
#2##�#�*�#j�#�Y#�###�#��#�*�#j###�#�**�#j�#�W*�#j####�###�#�*�#l�#�Y#�###�#��#�*�#
l�#�Y#�#�Y####SY####S�#��#�*�#l�##Y*�##�#�**�#l�#�W*�#l##�##�#####�#�*�#n�#�Y#�###�
#��#�*�#n###�#�**�#n�#�W*�#n####�##�##�#�*�#p�#�Y#�###�#��#�*�#p##!
�#�**�#p�#�W*�#p####�#|
##�#�*�#r�#�Y#�###�#��#�*�#r###�#�**�#r�#�W*�#r######y##�#�*�#t�#�Y#�###�#��#�*�#t#
#
%�#�*�#t�#'Y*�#(�#�*�#t�#*Y*�#+�#�**�#t�#�W*�#t##�##�#####�#�*�#v�#�Y#�###�#��#�*�#
v###�#�*�#v�#-
Y*�#.�#�*�#v�#0Y*�#1�#�**�#v�#�W*�#v##�##�#####�#�*�#x�#�Y#�###�#��#�*�#x##3�#�*�#x
�#5Y*�#6�#�*�#x�#8Y*�#9�#�**�#x�#�W*�#x##�########�#�*�#z�#�Y#�###�#��#�*�#z##;�#�*
*�#z�#�W*�#z##�##�#(##�#�*�#|�#�Y#�###�#��#�*�#|##=�#�*�#|�#?Y*�#@�#�*�#|
�#BY*�#C�#�**�#|�#�W*�#|##�##�##�##�#ʱ#####0###�#�#############!###,###7# #B#!
#M#"#X###c#$#n#%#y#&#�#'#�#(#�#)#�#*#�#+#�#,#�#-
#�#.#�#/#�#0#�#1#�#2###3###4###5#)#6#4#7#?#8#J#9#U#:#`#<#e#>#y#?
#�#@#�#A#�#G#�#H#�#J#�#K#�#L#�#M###O###P###Q#-
#V#<#\#E#]#V#_#i#`#r#a#{#b#�#d#�#e#�#f#�#g#�#i#�#j#�#k#�#p#�#v###w###y#&#z#/#{#8#|
#H#~#[##d#�#m#�#~#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�#'#�#0#�#@#�#S#�#t#�#|
#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�###�#1#�#D#�#M#�#V#�#g#�#z#�#�#�#�#�#
�#�#�#�#�#�#�#�#�#�#�#�###�###�###�#(#�#;#�#E#�#N#�#^#�#q#�#�#�#�#�#�#�#�#�#�#�#�#�
#�#�#�#�###�###�#%#�#.#�#7#�#H#�#[#�#e#�#n#�#~#�#�#�#�#�#�###�###�###�# #�#
+#�##########-###6###F###Y###c###l###|###�###�###�###�#$#�#%#�#'#�#(#�#)#�#. #4
##5 (#7 ;#8 E#9 T#> c#D l#E ~#G �#H �#I �#J �#L �#M
�#N �#S �#Y �#Z
+##\#1###
####
+
#2#3#####D#E###*###�#######,+�#K�#?M,�#ON-�#S�##-�#Y9#�#_##�#e�# :#,�#h�#####%#
%#j###0###"#####_###`##a###c###d#%#e#'#f#+#i#1###>#####,#2#3#####,#k#l#####$#m#####
###n#o#######p#q###'###r#s#####t#E###*###�#######,+�#K�#?M,�#ON-�#S�##-
�#Y9#�#_##�#w�# :#,�#h�#####%#%#j###0###"#####l###m##n###p###q#
%#r#'#s#+#v#1###>#####,#2#3#####,#k#l#####$#m#####
###n#o#######p#q###'###r#s#####x#E###*###�#######,+�#K�#?M,�#ON-�#S�##-
�#Y9#�#_##�#{�# :#,�#h�#####%#%#j###0###"#####y###z##{###}###~#
%##'#�#+#�#1###>#####,#2#3#####,#k#l#####$#m########n#o#######p#q###'###r#s#####|
#E###*###�#######,+�#K�#?M,�#ON-�#S�##-�#Y9#�#_##�#�# :#,�#h�#####%#
%#j###0###"#####�###�##�###�###�#%#�#'#�#+#�#1###>#####,#2#3#####,#k#l#####$#m#####
###n#o#######p#q###'###r#s#####�#E###*###�#######,+�#K�#?M,�#ON-�#S�##-
�#Y9#�#_##�#��# :#,�#h�#####%#%#j###0###"#####�###�##�###�###�#
%#�#'#�#+#�#1###>#####,#2#3#####,#k#l#####$#m#####
###n#o#######p#q###'###r#s#####�#E###*###�#######,+�#K�#?M,�#ON-�#S�##-
�#Y9#�#_##�#��# :#,�#h�#####%#%#j###0###"#####�###�##�###�###�#
%#�#'#�#+#�#1###>#####,#2#3#####,#k#l#####$#m#####
###n#o#######p#q###'###r#s#####�#E###*###�#######,+�#K�#?M,�#ON-�#S�##-
�#Y9#�#_##�#��# :#,�#h�#####%#%#j###0###"#####�###�##�###�###�#
%#�#'#�#+#�#1###>#####,#2#3#####,#k#l#####$#m#####
###n#o#######p#q###'###r#s#####�#E###*###�#######,+�#K�#?M,�#ON-�#S�##-
�#�6#�#_##�#��# :#,�#h�#####%#%#j###0###"#####�###�##�###�###�#
%#�#'#�#+#�#1###>#####,#2#3#####,#k#l#####$#m#####
###n#o#######p#�###'###r#s#####�#�###*###�#######8#I*�#|
�#O:###�#S�####�#YI�#_(�#��##:#*�#��#�*�#|�#h#�#��#########j###0###*#
+###�###�###�###�###�###�#%#�#,#�#3#�#7#�#1###4#####8#2#3#####8#k#�#####6#p#q#####-
#�#o###%###r#s#####�#�###*###�#######5#=*�#B�#ON-�#S�#"-
�#�=�#_#�#��##:#*�#��#�*�#B�#h#�#��##### # #j###0###*#
+###�###�#
+#�###�###�# #�#"#�#)#�#0#�#4#�#1###4#####5#2#3#####5#k#�#####3#p#�###
+#+#�#o###"###r#s#####�#�###*###Q########�#_*�#N�#��#��#�#�#��#####0#########�###�#
##�#1###########2#3#######k#�#####�#�###*###�#######8#I*�#H�#O:###�#S�####�#YI�#_(�
#��##:#*�#��#�*�#H�#h#�#��#########j###0###*#
+###�###�###�###�###�###�#%#�#,#�#3#�#7#�#1###4#####8#2#3#####8#k#�#####6#p#q#####-
#�#o###
%###r#s#####�#�###*###Q########�#_*�#8�#��#��#�#�#��#####0#########�###�#####1#####
######2#3#######k#�#####�#�###*###Q########�#_*�#^�#��#��#�#�#��#####0#############
######1###########2#3#######k#�#####�#�###*###Q########�#_*�#T�#��#��#�#�#��#####0#
########
+#######
#1###########2#3#######k#�#####�#�###*###�#######8#I*�#X�#O:###�#S�####�#YI�#_(�#��
##:#*�#��#�*�#X�#h#�#��#########j###0###*#
+#########################%###,###3###7###1###4#####8#2#3#####8#k#�#####6#p#q#####-
#�#o###%###r#s#####�#�###*###Q########�#_*�#d�#��#��#�#�#��#####0######### ###!
###"#1###########2#3#######k#�#####�#�###*###�#######8#I*�#f�#O:###�#S�####�#YI�#_(
�#�##:#*�#��#�*�#f�#h#�#��#########j###0###*#
+###&###'###(###*###+###,#%#-#,#.#3#1#7#2#1###4#####8#2#3#####8#k#�#####6#p#q#####-
#�#o###
%###r#s#####�#�###*###Q########�#_*�#l�#��#��#�#�#��#####0#########6###7###8#1#####
######2#3#######k#�#####�#�###*###�#######8#I*�#t�#O:###�#S�####�#YI�#_(�#{�##:#*�#
��#�*�#t�#h#�#��#########j###0###*#
+###<###=###>###@###A###B#%#C#,#D#3#G#7#H#1###4#####8#2#3#####8#k#�#####6#p#q#####-
#�#o###
%###r#s#####�#�###*###�#######8#I*�#v�#O:###�#S�####�#YI�#_(�#w�##:#*�#��#�*�#v�#h#
�#��#########j###0###*#
+###L###M###N###P###Q###R#%#S#,#T#3#W#7#X#1###4#####8#2#3#####8#k#�#####6#p#q#####-
#�#o###
%###r#s#####�#�###*###�#######8#I*�#x�#O:###�#S�####�#YI�#_(�#e�##:#*�#��#�*�#x�#h#
�#��#########j###0###*#
+###\###]###^###`###a###b#%#c#,#d#3#g#7#h#1###4#####8#2#3#####8#k#�#####6#p#q#####-
#�#o###%###r#s#####�#�###*###A####### *�#|+�#��#####0###
+#####k###l#1######### #2#3##### #�#o#####�#�###*###A####### *�#B+�#��#####0###
+#####o###p#1######### #2#3#####

#�#o#####�#�###*###M########*�#N+�#�*�#N+�#ӱ#####0#########s###t###u#1###########2#
3#######�#o#####�#�###*###A####### *�#H+�#��#####0###
+#####x###y#1######### #2#3#####
#�#o#####�#�###*###M########*�#8+�#�*�#8+�#ӱ#####0#########|
###}###~#1###########2#3#######�#o#####�#�###*###M########*�#^+�#�*�#^+�#ӱ#####0###
######�###�###�#1###########2#3#######�#o#####�#�###*###M########*�#T+�#�*�#T+�#ӱ##
###0#########�###�###�#1###########2#3#######�#o#####�#�###*###A#######
*�#X+�#��#####0###
+#####�###�#1######### #2#3#####

#�#o#####�#�###*###M########*�#d+�#�*�#d+�#ӱ#####0#########�###�###�#1###########2#
3#######�#o#####�#�###*###A####### *�#f+�#��#####0###
+#####�###�#1######### #2#3#####

#�#o#####�#�###*###M########*�#l+�#�*�#l+�#ӱ#####0#########�###�###�#1###########2#
3#######�#o#####�#�###*###A####### *�#t+�#��#####0###
+#####�###�#1######### #2#3##### #�#o#####�#�###*###A####### *�#v+�#��#####0###
+#####�###�#1######### #2#3##### #�#o#####�#�###*###A####### *�#x+�#��#####0###
+#####�###�#1######### #2#3#####

#�#o#####�#�###*###�#######�*+�#�#�#�*+�#�#�#�*+�#�#�*+�#�#�#�*+�#��##*+�##�##*+�#
�##*+�##�#�##*+�##�##*+�##�#�##*+�##�# �#"*+�#
%�#�#'*+�#*�#�#,*+�#/�#�#1�#####0###>#####�###�###�###�#)#�#1#�#9#�#A#�#L#�#T#�#_#�
#j#�#u#�#�#�#�#�#1#########�#2#3#####�#2#3#####4#5###6#####*###&########*+�#8�#####
0#########�#1#########9#5###6#####*###&########*+�#;�#####0#########�#1#########<#=
###6#####*###&########*+�#?
�#####0#########�#1#########@#5###6#####*###&########*+�#B�#####0#########�#1######
###C#=###6#####*###&########*+�#E�#####0#########�#1#########F#5###6#####*###&#####
###*+�#H�#####0#########�#1#########I#5###6#####*###&########*+�#K�#####0##########
#1#########L#5###6#####*###&########*+�#N�#####0###########1#########O#=###6#####*#
##&########*+�#Q�#####0#########�#1#########R#5###6#####*###&########*+�#T�#####0##
#########1#########U#5###6#####*###&########*+�#W�#####0###########1#########X#5###
6#####*###&########*+�#Z�#####0#########$#1#########[#=###6#####*###&########*+�#]�
#####0#########�#1#########^#5###6#####*###&########*+�#`�#####0#########4#1#######
##a#5###6#####*###&########*+�#c�#####0#########:#1#########d#=###6#####*###&######
##*+�#f�#####0#########x#1#########g#5###6#####*###&########*+�#i�#####0#########J#
1#########j#=###6#####*###&########*+�#l�#####0#########k#1#########m#5###6#####*##
#&########*+�#o�#####0#########Z#1#########p#=###6#####*###&########*+�#r�#####0###
######^#1#########s#5###6#####*###&########*+�#u�#####0#########�#1#########v#=###6
#####*###&########*+�#x�#####0#########�#1#########y#####z#{###�###�#######�#######
�#######�#######�#######�#######�#######�#######�##################################
#############'#######*#######-#######0#######5#######8#######?#######B######
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.form ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.form
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.form 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.form 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,519 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e7" green="ee" red="f0" type="rgb"/>
+ </Property>
+ </Properties>
+ <AuxValues>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer"
value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-
19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,1
10,65,-114,-39,-41,-
84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112
,0,0,2,80,0,0,2,74"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
+ <Property name="useNullLayout" type="boolean" value="true"/>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JComboBox" name="commonNodeApplicationComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="Application/ComonNodeApplication"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeApplicationComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="140" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeNumberLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="COMMON NODE NUMBER:
"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="commonNodeNumberTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="1"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeNumberTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="commonNodeNumberTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="20" width="250" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeLocationLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="COMMON NODE
LOCATION:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="60" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeEnergyLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="INITIAL ENERGY:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="100" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="commonNodeEnergyTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="1000"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeEnergyTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="commonNodeEnergyTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="100" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="joulesLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Joules"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="450" y="100" width="40" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeApplicationLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="COMMON NODE
APPLICATION:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="140" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="commonNodeLocationComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="2">
+ <StringItem index="0" value="RANDOM"/>
+ <StringItem index="1" value="GRID"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeLocationComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="60" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeTransmissionRangeLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="TRANSMISSION
RANGE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="220" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeDissTypeLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="DISSEMINATION TYPE:
"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="260" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="commonNodeDissTypeComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="3">
+ <StringItem index="0" value="Continuous"/>
+ <StringItem index="1" value="Programmed"/>
+ <StringItem index="2" value="On Demand"/>
+ </StringArray>
+ </Property>
+ <Property name="selectedIndex" type="int" value="1"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeDissTypeComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="260" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="secondsLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="seconds"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="440" y="300" width="50" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField"
name="commonNodeDissIntervalTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="20"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeDissIntervalTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="commonNodeDissIntervalTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="300" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeDissIntervalLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="DISSEMINATION
INTERVAL:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="300" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeApplicationLabel1">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="PROCESSING TYPE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="180" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox"
name="commonNodeProcessingTypeComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="1">
+ <StringItem index="0" value="Processing/AggregateProcessing"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeProcessingTypeComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="180" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeDissTypeLabel1">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="SENSING TYPE: "/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="340" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="commonNodeDissIntervalLabel1">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="SENSING INTERVAL:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="380" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="commonNodeSensingTypeComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="3">
+ <StringItem index="0" value="Continuous"/>
+ <StringItem index="1" value="Programmed"/>
+ <StringItem index="2" value="On Demand"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeSensingTypeComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="340" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField"
name="commonNodeSensingIntervalTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="5"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeSensingIntervalTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="commonNodeSensingIntervalTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="380" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="secondsLabel1">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="seconds"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="440" y="380" width="50" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="dataGeneratorTypeLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="DATA GENERATOR
TYPE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="420" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="dataGeneratorTypeComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="2">
+ <StringItem index="0" value="TemperatureDataGenerator"/>
+ <StringItem index="1" value="CarbonMonoxideDataGenerator"/>
+ </StringArray>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="dataGeneratorTypeComboBoxActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="420" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="deviationLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="DATA STANDARD
DEVIATION:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="500" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="averageDataLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="DATA AVERAGE
VALUE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="460" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="maxDataLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="MAXIMUM DATA
VALUE:"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="540" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="dataAverageTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="25"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="dataAverageTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="dataAverageTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="460" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="deviationTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="5"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="deviationTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="deviationTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="500" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="maxDataTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="30"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="maxDataTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent" handler="maxDataTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="540" width="270" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="metersLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="meters"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="450" y="220" width="40" height="20"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField"
name="commonNodeTransmissionRangeTextField">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="11" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="50"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeTransmissionRangeTextFieldActionPerformed"/>
+ <EventHandler event="focusLost" listener="java.awt.event.FocusListener"
parameters="java.awt.event.FocusEvent"
handler="commonNodeTransmissionRangeTextFieldFocusLost"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="210" y="220" width="220" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+</Form>
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.java ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.java
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.java 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/CommonNodeConfPanel.java 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,733 @@
+/*
+ * ConfPanel.java
+ *
+ * Created on 25 de Novembro de 2005, 10:59
+ */
+
+package gui;
+
+/**
+ *
+ * @author Helen Peters
+ */
+public class CommonNodeConfPanel extends javax.swing.JPanel {
+
+ /** Creates new form ConfPanel */
+ public CommonNodeConfPanel() {
+ initComponents();
+ }
+
+ /** This method is called from within the constructor to
+ * initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is
+ * always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
+ private void initComponents() {
+ commonNodeApplicationComboBox = new javax.swing.JComboBox();
+ commonNodeNumberLabel = new javax.swing.JLabel();
+ commonNodeNumberTextField = new javax.swing.JTextField();
+ commonNodeLocationLabel = new javax.swing.JLabel();
+ commonNodeEnergyLabel = new javax.swing.JLabel();
+ commonNodeEnergyTextField = new javax.swing.JTextField();
+ joulesLabel = new javax.swing.JLabel();
+ commonNodeApplicationLabel = new javax.swing.JLabel();
+ commonNodeLocationComboBox = new javax.swing.JComboBox();
+ commonNodeTransmissionRangeLabel = new javax.swing.JLabel();
+ commonNodeDissTypeLabel = new javax.swing.JLabel();
+ commonNodeDissTypeComboBox = new javax.swing.JComboBox();
+ secondsLabel = new javax.swing.JLabel();
+ commonNodeDissIntervalTextField = new javax.swing.JTextField();
+ commonNodeDissIntervalLabel = new javax.swing.JLabel();
+ commonNodeApplicationLabel1 = new javax.swing.JLabel();
+ commonNodeProcessingTypeComboBox = new javax.swing.JComboBox();
+ commonNodeDissTypeLabel1 = new javax.swing.JLabel();
+ commonNodeDissIntervalLabel1 = new javax.swing.JLabel();
+ commonNodeSensingTypeComboBox = new javax.swing.JComboBox();
+ commonNodeSensingIntervalTextField = new javax.swing.JTextField();
+ secondsLabel1 = new javax.swing.JLabel();
+ dataGeneratorTypeLabel = new javax.swing.JLabel();
+ dataGeneratorTypeComboBox = new javax.swing.JComboBox();
+ deviationLabel = new javax.swing.JLabel();
+ averageDataLabel = new javax.swing.JLabel();
+ maxDataLabel = new javax.swing.JLabel();
+ dataAverageTextField = new javax.swing.JTextField();
+ deviationTextField = new javax.swing.JTextField();
+ maxDataTextField = new javax.swing.JTextField();
+ metersLabel = new javax.swing.JLabel();
+ commonNodeTransmissionRangeTextField = new javax.swing.JTextField();
+
+ setLayout(null);
+
+ setBackground(new java.awt.Color(240, 238, 231));
+ commonNodeApplicationComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeApplicationComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[]
{ "Application/ComonNodeApplication" }));
+ commonNodeApplicationComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeApplicationComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(commonNodeApplicationComboBox);
+ commonNodeApplicationComboBox.setBounds(210, 140, 270, 22);
+
+ commonNodeNumberLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeNumberLabel.setText("COMMON NODE NUMBER: ");
+ add(commonNodeNumberLabel);
+ commonNodeNumberLabel.setBounds(20, 20, 131, 14);
+
+ commonNodeNumberTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeNumberTextField.setText("1");
+ commonNodeNumberTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeNumberTextFieldActionPerformed(evt);
+ }
+ });
+ commonNodeNumberTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ commonNodeNumberTextFieldFocusLost(evt);
+ }
+ });
+
+ add(commonNodeNumberTextField);
+ commonNodeNumberTextField.setBounds(210, 20, 250, 19);
+
+ commonNodeLocationLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeLocationLabel.setText("COMMON NODE LOCATION:");
+ add(commonNodeLocationLabel);
+ commonNodeLocationLabel.setBounds(20, 60, 138, 14);
+
+ commonNodeEnergyLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeEnergyLabel.setText("INITIAL ENERGY:");
+ add(commonNodeEnergyLabel);
+ commonNodeEnergyLabel.setBounds(20, 100, 81, 14);
+
+ commonNodeEnergyTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeEnergyTextField.setText("1000");
+ commonNodeEnergyTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeEnergyTextFieldActionPerformed(evt);
+ }
+ });
+ commonNodeEnergyTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ commonNodeEnergyTextFieldFocusLost(evt);
+ }
+ });
+
+ add(commonNodeEnergyTextField);
+ commonNodeEnergyTextField.setBounds(210, 100, 220, 19);
+
+ joulesLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ joulesLabel.setText("Joules");
+ add(joulesLabel);
+ joulesLabel.setBounds(450, 100, 40, 20);
+
+ commonNodeApplicationLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeApplicationLabel.setText("COMMON NODE APPLICATION:");
+ add(commonNodeApplicationLabel);
+ commonNodeApplicationLabel.setBounds(20, 140, 155, 14);
+
+ commonNodeLocationComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeLocationComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[] { "RANDOM", "GRID" }));
+ commonNodeLocationComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeLocationComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(commonNodeLocationComboBox);
+ commonNodeLocationComboBox.setBounds(210, 60, 270, 22);
+
+ commonNodeTransmissionRangeLabel.setFont(new java.awt.Font("Arial", 0,
11));
+ commonNodeTransmissionRangeLabel.setText("TRANSMISSION RANGE:");
+ add(commonNodeTransmissionRangeLabel);
+ commonNodeTransmissionRangeLabel.setBounds(20, 220, 118, 14);
+
+ commonNodeDissTypeLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeDissTypeLabel.setText("DISSEMINATION TYPE: ");
+ add(commonNodeDissTypeLabel);
+ commonNodeDissTypeLabel.setBounds(20, 260, 112, 14);
+
+ commonNodeDissTypeComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeDissTypeComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[] { "Continuous", "Programmed", "On
Demand" }));
+ commonNodeDissTypeComboBox.setSelectedIndex(1);
+ commonNodeDissTypeComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeDissTypeComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(commonNodeDissTypeComboBox);
+ commonNodeDissTypeComboBox.setBounds(210, 260, 270, 22);
+
+ secondsLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ secondsLabel.setText("seconds");
+ add(secondsLabel);
+ secondsLabel.setBounds(440, 300, 50, 14);
+
+ commonNodeDissIntervalTextField.setFont(new java.awt.Font("Arial", 0,
11));
+ commonNodeDissIntervalTextField.setText("20");
+ commonNodeDissIntervalTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeDissIntervalTextFieldActionPerformed(evt);
+ }
+ });
+ commonNodeDissIntervalTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ commonNodeDissIntervalTextFieldFocusLost(evt);
+ }
+ });
+
+ add(commonNodeDissIntervalTextField);
+ commonNodeDissIntervalTextField.setBounds(210, 300, 220, 19);
+
+ commonNodeDissIntervalLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeDissIntervalLabel.setText("DISSEMINATION INTERVAL:");
+ add(commonNodeDissIntervalLabel);
+ commonNodeDissIntervalLabel.setBounds(20, 300, 133, 14);
+
+ commonNodeApplicationLabel1.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeApplicationLabel1.setText("PROCESSING TYPE:");
+ add(commonNodeApplicationLabel1);
+ commonNodeApplicationLabel1.setBounds(20, 180, 97, 14);
+
+ commonNodeProcessingTypeComboBox.setFont(new java.awt.Font("Arial", 0,
11));
+ commonNodeProcessingTypeComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[]
{ "Processing/AggregateProcessing" }));
+ commonNodeProcessingTypeComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeProcessingTypeComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(commonNodeProcessingTypeComboBox);
+ commonNodeProcessingTypeComboBox.setBounds(210, 180, 270, 22);
+
+ commonNodeDissTypeLabel1.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeDissTypeLabel1.setText("SENSING TYPE: ");
+ add(commonNodeDissTypeLabel1);
+ commonNodeDissTypeLabel1.setBounds(20, 340, 79, 14);
+
+ commonNodeDissIntervalLabel1.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeDissIntervalLabel1.setText("SENSING INTERVAL:");
+ add(commonNodeDissIntervalLabel1);
+ commonNodeDissIntervalLabel1.setBounds(20, 380, 100, 14);
+
+ commonNodeSensingTypeComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ commonNodeSensingTypeComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[] { "Continuous", "Programmed", "On
Demand" }));
+ commonNodeSensingTypeComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeSensingTypeComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(commonNodeSensingTypeComboBox);
+ commonNodeSensingTypeComboBox.setBounds(210, 340, 270, 22);
+
+ commonNodeSensingIntervalTextField.setFont(new java.awt.Font("Arial", 0,
11));
+ commonNodeSensingIntervalTextField.setText("5");
+ commonNodeSensingIntervalTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeSensingIntervalTextFieldActionPerformed(evt);
+ }
+ });
+ commonNodeSensingIntervalTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ commonNodeSensingIntervalTextFieldFocusLost(evt);
+ }
+ });
+
+ add(commonNodeSensingIntervalTextField);
+ commonNodeSensingIntervalTextField.setBounds(210, 380, 220, 19);
+
+ secondsLabel1.setFont(new java.awt.Font("Arial", 0, 11));
+ secondsLabel1.setText("seconds");
+ add(secondsLabel1);
+ secondsLabel1.setBounds(440, 380, 50, 20);
+
+ dataGeneratorTypeLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ dataGeneratorTypeLabel.setText("DATA GENERATOR TYPE:");
+ add(dataGeneratorTypeLabel);
+ dataGeneratorTypeLabel.setBounds(20, 420, 127, 14);
+
+ dataGeneratorTypeComboBox.setFont(new java.awt.Font("Arial", 0, 11));
+ dataGeneratorTypeComboBox.setModel(new
javax.swing.DefaultComboBoxModel(new String[] { "TemperatureDataGenerator",
"CarbonMonoxideDataGenerator" }));
+ dataGeneratorTypeComboBox.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ dataGeneratorTypeComboBoxActionPerformed(evt);
+ }
+ });
+
+ add(dataGeneratorTypeComboBox);
+ dataGeneratorTypeComboBox.setBounds(210, 420, 270, 22);
+
+ deviationLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ deviationLabel.setText("DATA STANDARD DEVIATION:");
+ add(deviationLabel);
+ deviationLabel.setBounds(20, 500, 149, 14);
+
+ averageDataLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ averageDataLabel.setText("DATA AVERAGE VALUE:");
+ add(averageDataLabel);
+ averageDataLabel.setBounds(20, 460, 124, 14);
+
+ maxDataLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ maxDataLabel.setText("MAXIMUM DATA VALUE:");
+ add(maxDataLabel);
+ maxDataLabel.setBounds(20, 540, 121, 14);
+
+ dataAverageTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ dataAverageTextField.setText("25");
+ dataAverageTextField.addActionListener(new java.awt.event.ActionListener()
{
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ dataAverageTextFieldActionPerformed(evt);
+ }
+ });
+ dataAverageTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ dataAverageTextFieldFocusLost(evt);
+ }
+ });
+
+ add(dataAverageTextField);
+ dataAverageTextField.setBounds(210, 460, 270, 19);
+
+ deviationTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ deviationTextField.setText("5");
+ deviationTextField.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ deviationTextFieldActionPerformed(evt);
+ }
+ });
+ deviationTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ deviationTextFieldFocusLost(evt);
+ }
+ });
+
+ add(deviationTextField);
+ deviationTextField.setBounds(210, 500, 270, 19);
+
+ maxDataTextField.setFont(new java.awt.Font("Arial", 0, 11));
+ maxDataTextField.setText("30");
+ maxDataTextField.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ maxDataTextFieldActionPerformed(evt);
+ }
+ });
+ maxDataTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ maxDataTextFieldFocusLost(evt);
+ }
+ });
+
+ add(maxDataTextField);
+ maxDataTextField.setBounds(210, 540, 270, 19);
+
+ metersLabel.setFont(new java.awt.Font("Arial", 0, 11));
+ metersLabel.setText("meters");
+ add(metersLabel);
+ metersLabel.setBounds(450, 220, 40, 20);
+
+ commonNodeTransmissionRangeTextField.setFont(new java.awt.Font("Arial", 0,
11));
+ commonNodeTransmissionRangeTextField.setText("50");
+ commonNodeTransmissionRangeTextField.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeTransmissionRangeTextFieldActionPerformed(evt);
+ }
+ });
+ commonNodeTransmissionRangeTextField.addFocusListener(new
java.awt.event.FocusAdapter() {
+ public void focusLost(java.awt.event.FocusEvent evt) {
+ commonNodeTransmissionRangeTextFieldFocusLost(evt);
+ }
+ });
+
+ add(commonNodeTransmissionRangeTextField);
+ commonNodeTransmissionRangeTextField.setBounds(210, 220, 220, 19);
+
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void maxDataTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-
FIRST:event_maxDataTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setCommonNodeMaximumData(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_maxDataTextFieldFocusLost
+
+ private void deviationTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_deviationTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setCommonNodeDataDeviation(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_deviationTextFieldFocusLost
+
+ private void dataAverageTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_dataAverageTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setCommonNodeDataAverage(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_dataAverageTextFieldFocusLost
+
+ private void
commonNodeSensingIntervalTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-
FIRST:event_commonNodeSensingIntervalTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setCommonNodeSensingInterval(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_commonNodeSensingIntervalTextFieldFocusLost
+
+ private void
commonNodeDissIntervalTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-
FIRST:event_commonNodeDissIntervalTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setCommonNodeDissInterval(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_commonNodeDissIntervalTextFieldFocusLost
+
+ private void
commonNodeTransmissionRangeTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_commonNodeTransmissionRangeTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setCommonNodeTransmissionRange(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_commonNodeTransmissionRangeTextFieldFocusLost
+
+ private void commonNodeEnergyTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_commonNodeEnergyTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ double aux = Double.parseDouble(content);
+ MainFrame.getTcl().setCommonNodeEnergy(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_commonNodeEnergyTextFieldFocusLost
+
+ private void commonNodeNumberTextFieldFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_commonNodeNumberTextFieldFocusLost
+ javax.swing.JTextField textField = (javax.swing.JTextField)
evt.getSource();
+ String content = textField.getText();
+ if (content.length() != 0) {
+ try {
+ int aux = Integer.parseInt(content);
+ MainFrame.getTcl().setCommonNodeNumber(aux);
+ } catch (NumberFormatException nfe) {
+ textField.requestFocus();
+ }
+ }
+ }//GEN-LAST:event_commonNodeNumberTextFieldFocusLost
+
+ private void
commonNodeTransmissionRangeTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_commonNodeTransmissionRangeTextFieldActionPerformed
+
+ double aux = 0;
+ String s = commonNodeTransmissionRangeTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setCommonNodeTransmissionRange(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ commonNodeTransmissionRangeTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeTransmissionRangeTextFieldActionPerformed
+
+ private void
commonNodeNumberTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_commonNodeNumberTextFieldActionPerformed
+
+ int aux = 0;
+ String s = commonNodeNumberTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Integer.parseInt(s);
+ MainFrame.getTcl().setCommonNodeNumber(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ commonNodeNumberTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeNumberTextFieldActionPerformed
+
+ private void
commonNodeLocationComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_commonNodeLocationComboBoxActionPerformed
+
+ MainFrame.getTcl().setCommonNodeLocation((String)
commonNodeLocationComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeLocationComboBoxActionPerformed
+
+ private void
commonNodeEnergyTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_commonNodeEnergyTextFieldActionPerformed
+
+ double aux = 0;
+ String s = commonNodeEnergyTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setCommonNodeEnergy(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ commonNodeEnergyTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeEnergyTextFieldActionPerformed
+
+ private void
commonNodeApplicationComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_commonNodeApplicationComboBoxActionPerformed
+
+ MainFrame.getTcl().setCommonNodeApplication((String)
commonNodeApplicationComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeApplicationComboBoxActionPerformed
+
+ private void
commonNodeProcessingTypeComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_commonNodeProcessingTypeComboBoxActionPerformed
+
+ MainFrame.getTcl().setCommonNodeProcessingType((String)
commonNodeProcessingTypeComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeProcessingTypeComboBoxActionPerformed
+
+ private void
commonNodeDissTypeComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_commonNodeDissTypeComboBoxActionPerformed
+
+ MainFrame.getTcl().setCommonNodeDissType((String)
commonNodeDissTypeComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeDissTypeComboBoxActionPerformed
+
+ private void
commonNodeDissIntervalTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_commonNodeDissIntervalTextFieldActionPerformed
+
+ double aux = 0;
+ String s = commonNodeDissIntervalTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setCommonNodeDissInterval(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ commonNodeDissIntervalTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeDissIntervalTextFieldActionPerformed
+
+ private void
commonNodeSensingTypeComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_commonNodeSensingTypeComboBoxActionPerformed
+
+ MainFrame.getTcl().setCommonNodeSensingType((String)
commonNodeSensingTypeComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeSensingTypeComboBoxActionPerformed
+
+ private void
commonNodeSensingIntervalTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_commonNodeSensingIntervalTextFieldActionPerformed
+
+ double aux = 0;
+ String s = commonNodeSensingIntervalTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setCommonNodeSensingInterval(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ commonNodeSensingIntervalTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_commonNodeSensingIntervalTextFieldActionPerformed
+
+ private void
dataGeneratorTypeComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_dataGeneratorTypeComboBoxActionPerformed
+
+ MainFrame.getTcl().setCommonNodeDataGeneratorType((String)
dataGeneratorTypeComboBox.getSelectedItem());
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_dataGeneratorTypeComboBoxActionPerformed
+
+ private void dataAverageTextFieldActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_dataAverageTextFieldActionPerformed
+
+ double aux = 0;
+ String s = dataAverageTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setCommonNodeDataAverage(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ dataAverageTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_dataAverageTextFieldActionPerformed
+
+ private void deviationTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_deviationTextFieldActionPerformed
+
+ double aux = 0;
+ String s = deviationTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setCommonNodeDataDeviation(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ deviationTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_deviationTextFieldActionPerformed
+
+ private void maxDataTextFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_maxDataTextFieldActionPerformed
+
+ double aux = 0;
+ String s = maxDataTextField.getText();
+ if (s.length() != 0) {
+ try {
+ aux = Double.parseDouble(s);
+ MainFrame.getTcl().setCommonNodeMaximumData(aux);
+ } catch (NumberFormatException nfe) {
+ getToolkit().beep();
+ maxDataTextField.requestFocus();
+ }
+ }
+ MainFrame.setXMLSaved(false);
+ }//GEN-LAST:event_maxDataTextFieldActionPerformed
+
+ private void setCommonNodeTransmissionRangeTextField(String s){
+ commonNodeTransmissionRangeTextField.setText(s);
+ }
+
+ private void setCommonNodeNumberTextField(String s){
+ commonNodeNumberTextField.setText(s);
+ }
+
+ private void setCommonNodeLocationComboBox(String s){
+ commonNodeLocationComboBox.addItem(s);
+ commonNodeLocationComboBox.setSelectedItem(s);
+ }
+
+ private void setCommonNodeEnergyTextField(String s){
+ commonNodeEnergyTextField.setText(s);
+ }
+
+ private void setCommonNodeApplicationComboBox(String s){
+ commonNodeApplicationComboBox.addItem(s);
+ commonNodeApplicationComboBox.setSelectedItem(s);
+ }
+
+ private void setCommonNodeProcessingTypeComboBox(String s){
+ commonNodeProcessingTypeComboBox.addItem(s);
+ commonNodeProcessingTypeComboBox.setSelectedItem(s);
+ }
+
+ private void setCommonNodeDissTypeComboBox(String s){
+ commonNodeDissTypeComboBox.addItem(s);
+ commonNodeDissTypeComboBox.setSelectedItem(s);
+ }
+
+ private void setCommonNodeDissIntervalTextField(String s){
+ commonNodeDissIntervalTextField.setText(s);
+ }
+
+ private void setCommonNodeSensingTypeComboBox(String s){
+ commonNodeSensingTypeComboBox.addItem(s);
+ commonNodeSensingTypeComboBox.setSelectedItem(s);
+ }
+
+ private void setCommonNodeSensingIntervalTextField(String s){
+ commonNodeSensingIntervalTextField.setText(s);
+ }
+
+ private void setCommonNodeDataGeneratorTypeComboBox(String s){
+ dataGeneratorTypeComboBox.addItem(s);
+ dataGeneratorTypeComboBox.setSelectedItem(s);
+ }
+
+ private void setCommonNodeDataAverageTextField(String s){
+ dataAverageTextField.setText(s);
+ }
+
+ private void setCommonNodeDeviationTextField(String s){
+ deviationTextField.setText(s);
+ }
+
+ private void setCommonNodeMaxDataTextField(String s){
+ maxDataTextField.setText(s);
+ }
+
+
+ public void updateFields(TclFields tcl){
+
setCommonNodeTransmissionRangeTextField(String.valueOf(tcl.getCommonNodeTransmissio
nRange()));
+ setCommonNodeNumberTextField(String.valueOf(tcl.getCommonNodeNumber()));
+ setCommonNodeLocationComboBox(tcl.getCommonNodeLocation());
+ setCommonNodeEnergyTextField(String.valueOf(tcl.getCommonNodeEnergy()));
+ setCommonNodeApplicationComboBox(tcl.getCommonNodeApplication());
+ setCommonNodeProcessingTypeComboBox(tcl.getCommonNodeProcessingType());
+ setCommonNodeDissTypeComboBox(tcl.getCommonNodeDissType());
+
setCommonNodeDissIntervalTextField(String.valueOf(tcl.getCommonNodeDissInterval()))
;
+ setCommonNodeSensingTypeComboBox(tcl.getCommonNodeSensingType());
+
setCommonNodeSensingIntervalTextField(String.valueOf(tcl.getCommonNodeSensingInterv
al()));
+
setCommonNodeDataGeneratorTypeComboBox(String.valueOf(tcl.getCommonNodeDataGenerato
rType()));
+
setCommonNodeDataAverageTextField(String.valueOf(tcl.getCommonNodeDataAverage()));
+
setCommonNodeDeviationTextField(String.valueOf(tcl.getCommonNodeDataDeviation()));
+
setCommonNodeMaxDataTextField(String.valueOf(tcl.getCommonNodeMaximumData()));
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JLabel averageDataLabel;
+ private javax.swing.JComboBox commonNodeApplicationComboBox;
+ private javax.swing.JLabel commonNodeApplicationLabel;
+ private javax.swing.JLabel commonNodeApplicationLabel1;
+ private javax.swing.JLabel commonNodeDissIntervalLabel;
+ private javax.swing.JLabel commonNodeDissIntervalLabel1;
+ private javax.swing.JTextField commonNodeDissIntervalTextField;
+ private javax.swing.JComboBox commonNodeDissTypeComboBox;
+ private javax.swing.JLabel commonNodeDissTypeLabel;
+ private javax.swing.JLabel commonNodeDissTypeLabel1;
+ private javax.swing.JLabel commonNodeEnergyLabel;
+ private javax.swing.JTextField commonNodeEnergyTextField;
+ private javax.swing.JComboBox commonNodeLocationComboBox;
+ private javax.swing.JLabel commonNodeLocationLabel;
+ private javax.swing.JLabel commonNodeNumberLabel;
+ private javax.swing.JTextField commonNodeNumberTextField;
+ private javax.swing.JComboBox commonNodeProcessingTypeComboBox;
+ private javax.swing.JTextField commonNodeSensingIntervalTextField;
+ private javax.swing.JComboBox commonNodeSensingTypeComboBox;
+ private javax.swing.JLabel commonNodeTransmissionRangeLabel;
+ private javax.swing.JTextField commonNodeTransmissionRangeTextField;
+ private javax.swing.JTextField dataAverageTextField;
+ private javax.swing.JComboBox dataGeneratorTypeComboBox;
+ private javax.swing.JLabel dataGeneratorTypeLabel;
+ private javax.swing.JLabel deviationLabel;
+ private javax.swing.JTextField deviationTextField;
+ private javax.swing.JLabel joulesLabel;
+ private javax.swing.JLabel maxDataLabel;
+ private javax.swing.JTextField maxDataTextField;
+ private javax.swing.JLabel metersLabel;
+ private javax.swing.JLabel secondsLabel;
+ private javax.swing.JLabel secondsLabel1;
+ // End of variables declaration//GEN-END:variables
+
+}
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$1.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$1.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$1.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$1.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/FileJDialog$1######java/awt/event/WindowAdapter######this$0###Lgui/FileJDial
og;## Synthetic###<init>###(Lgui/FileJDialog;)V###Code###()V
####
+###
#### #######LineNumberTable###LocalVariableTable###this###Lgui/FileJDialog$1;##
windowClosing###(Ljava/awt/event/WindowEvent;)V###gui/FileJDialog######access$0##0(
Lgui/FileJDialog;Ljava/awt/event/WindowEvent;)V
####
+#######evt###Ljava/awt/event/WindowEvent;##
+SourceFile###FileJDialog.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####E#########
#####
+###############
+###A####### *�##+�##�#########
+#####G###H########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$2.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$2.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$2.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$2.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/FileJDialog$2######java/lang/Object######java/awt/event/ActionList
ener######this$0###Lgui/FileJDialog;##
Synthetic###<init>###(Lgui/FileJDialog;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/FileJDialog$2;###actionPe
rformed###(Ljava/awt/event/ActionEvent;)V###gui/FileJDialog######access$1##0(Lgui/F
ileJDialog;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###FileJDialog.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####M#########
#####
+###############
###A####### *�##+�##�#########
+#####O###P########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,63 @@
+���###.#####gui/FileJDialog######javax/swing/JDialog######jf###Ljavax/swing/JFileC
hooser;###result###I###actionPerformed###Z###currentType###fr###Ljava/io/FileReader
;###br###Ljava/io/BufferedReader;###fw###Ljava/io/FileWriter;###bw###Ljava/io/Buffe
redWriter;###pw###Ljava/io/PrintWriter;###OPEN##
ConstantValue########SAVE########EXPORT########SAVE_AS########xmlFileName###Ljava/l
ang/String;###tclFileName###file###Ljava/io/File;###<clinit>###()V###Code
### ###'
#!# ###)###LineNumberTable###LocalVariableTable###<init>###(Ljava/awt/Frame;Z)V
#-#.
+###/###initComponents
#1#%
+###2###this###Lgui/FileJDialog;###parent###Ljava/awt/Frame;###modal###displayFileD
ialog###(I)V
#### ###;
#### ###=##
setXMLFilter###(Ljavax/swing/JFileChooser;)V
#?#@
+###A###javax/swing/JFileChooser##C###showOpenDialog###(Ljava/awt/Component;)I
#E#F
+#D#G
#### ###I
#"## ###K###saveFile###(Ljava/io/File;)Z
#M#N
+###O###showSaveDialog
#Q#F
+#D#R###setCurrentDirectory###(Ljava/io/File;)V
#T#U
+#D#V##
setTCLFilter
#X#@
+###Y###Export##[##
+showDialog##)(Ljava/awt/Component;Ljava/lang/String;)I
#]#^
+#D#_###type
#-#%
+#D#b###gui/FileJDialog$1##d###(Lgui/FileJDialog;)V
#-#f
+#e#g###addWindowListener##"(Ljava/awt/event/WindowListener;)V
#i#j
+###k###setAcceptAllFileFilterUsed###(Z)V
#m#n
+#D#o##java/awt/Font##q###Arial##s###(Ljava/lang/String;II)V
#-#u
+#r#v###setFont###(Ljava/awt/Font;)V
#x#y
+#D#z###gui/FileJDialog$2##|
+#}#g###addActionListener##"(Ljava/awt/event/ActionListener;)V
##�
+#D#�###getContentPane###()Ljava/awt/Container;
#�#�
+###�###Center##�###java/awt/Container##�###add##)
(Ljava/awt/Component;Ljava/lang/Object;)V
#�#�
+#�#�###pack
#�#%
+###�###jfActionPerformed###(Ljava/awt/event/ActionEvent;)V###getSelectedFile###()L
java/io/File;
#�#�
+#D#�###setFile
#�#U
+###�###openFile
#�#N
+###�##gui/MainFrame##�###setXMLSaved
#�#n
+#�#�##
+exportFile
#�#N
+###�###setActionPerformed
#�#n
+###�##
+setVisible
#�#n
+###�###dispose
#�#%
+###�###evt###Ljava/awt/event/ActionEvent;###closeDialog###(Ljava/awt/event/WindowE
vent;)V###Ljava/awt/event/WindowEvent;###gui/FileJDialog$XMLFilter##�
+#�#g###addChoosableFileFilter##'(Ljavax/swing/filechooser/FileFilter;)V
#�#�
+#D#�###jfc###gui/FileJDialog$TCLFilter##�
+#�#g###xml2tcl/Translator##�###getTcl###()Lgui/TclFields;
#�#�
+#�#�###(Lgui/TclFields;)V
#-#�
+#�#�###open
#�#U
+#�#�###java/lang/Exception##�##
+translator###Lxml2tcl/Translator;###e###Ljava/lang/Exception;##
java/io/File##�###getAbsolutePath###()Ljava/lang/String;
#�#�
+#�#�###.xml##�###java/lang/String##�###endsWith###(Ljava/lang/String;)Z
#�#�
+#�#�###concat##&(Ljava/lang/String;)Ljava/lang/String;
#�#�
+#�#�###save###(Ljava/lang/String;)V
#�#�
+#�#�###filename###.tcl##�###export
#�#�
+#�#�###aFile
# #
+

###�###b###isActionPerformed###()Z###access$0##0(Lgui/FileJDialog;Ljava/awt/event/W
indowEvent;)V## Synthetic
#�#�
+###�###access$1##0(Lgui/FileJDialog;Ljava/awt/event/ActionEvent;)V
#�#�
+###�##
+SourceFile###FileJDialog.java##
InnerClasses## XMLFilter## TCLFilter#!########################### #
+#############
#
###################################################################################
################ ### ### #!# ###
+#"#########$#%###&###1####### #�#(#�#*�#####+#########�###�#####,#########-
#.###&###Q########*+#�#0*�#3�#####+###############
+###,### #######4#5#######6#7#######8#
+#####9#:###&###
%#######�*#�#<#�####�###############8###�###c**�#>�#B**�#>*�#>�#H�#J�#q�#L�##*�#L�#
PW�#`**�#>�#B**�#>*�#>�#S�#J�#F�#L�#
*�#>�#L�#W**�#>�#B**�#>*�#>�#S�#J�##**�#>�#Z**�#>*�#>#\�#`�#J�#####+###J#########
#$#"#,###;#$#>#&#D#'#O#*#W#+#f#-
#i#/#o#0#y#1#�#2#�#3#�#5#�#6#�#9#,#########�#4#5#####�#a#######1#
%###&###�#######S*�#DY�#c�#>*�#eY*�#h�#l*�#>#�#p*�#>�#rY#t##
�#w�#{*�#>�#}Y*�#~�#�*�#�*�#>#��#�*�#��#####+###"#####C###E###K###L#2#M#A#S#N#U#R#V
#,###
#####S#4#5#####�#�###&###�#######o*�#>�#��#�*�#J�#R�#L�#L*�#<�###=###############$#
##5*�#L�#�W�##*�#L�#P�###�#��##*�#L�#�W*#�#��##*#�#�*�#�*#�#��#####+###:#####[#
+#]###_#4#a#<#b#?
#d#I#e#M#g#P#i#X#m#`#p#e#q#i#r#n#u#,#########o#4#5#####o#�#�#####�#�###&###F#######
+*#�#�*�#��#####+#########y###z# #{#,#########
+#4#5#####
+#�#�#####?#@###&###E#######+�#�Y*�#��#��#####+###
+#####�#
#�#,##########4#5######�#######X#@###&###E#######+�#�Y*�#��#��#####+###
+#####�#
#�#,##########4#5######�#######�#N###&###x########�#�Y�#ķ#�M,
+�#ʧ##N#�#�#########�###+#########�###�###�###�###�#,###*#######4#5#######"#######
#�#�#######�#�#####M#N###&###�#######-�#�Y�#ķ#�M+�#�N-# ‫ޚ‬#‫ض‬#
+-#‫ض‬#�N,-�#�##N#�#�#####(#(#�###+###"#####�###�###�###�#
#�#(#�#)#�#+#�#,###4#####-#4#5#####-#"#######"#�#�#######�#
###)###�#�#####�#N###&###�#######-�#�Y�#ķ#�M+�#�N-#�#‫ޚ‬#
+-#�#�N,-�#�##N#�#�#####(#(#�###+###"#####�###�###�###�# #�#(#�#)#�#+#�#,###4#####-
#4#5#####-#"#######"#�#�#######�# ###)###�#�### #�#U###&###3########*�#L�#####+###
+#####�###�#,###
#######�#######�#n###&###>########*#�#�#####+###
+#####�###�#,###########4#5#######�#
+#####�#�###&###/########*�#�#####+#########�#,###
#######4#5#####�#�###�#####&###&########*+�#�#####+#########x#,#########�#�###�####
#&###&########*+�#�#####+#########X#,#########�#####�#�###"###�###�###�#######e####
###}######
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.form ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.form
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.form
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.form 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
+ <SyntheticProperties>
+ <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+ </SyntheticProperties>
+ <Events>
+ <EventHandler event="windowClosing" listener="java.awt.event.WindowListener"
parameters="java.awt.event.WindowEvent" handler="closeDialog"/>
+ </Events>
+ <AuxValues>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer"
value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-
19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,1
10,65,-114,-39,-41,-
84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112
,0,0,1,44,0,0,1,-112"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Component class="javax.swing.JFileChooser" name="jf">
+ <Properties>
+ <Property name="acceptAllFileFilterUsed" type="boolean" value="false"/>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="jfActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstrain
tsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+</Form>
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.java ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.java
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.java
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog.java 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,241 @@
+/*
+ * JDialog_1.java
+ *
+ * Created on 17 de Novembro de 2005, 17:53
+ */
+
+/**
+ *
+ * @author helen
+ */
+
+package gui;
+
+import java.util.*;
+import javax.swing.*;
+
+import xml2tcl.Translator;
+
+import java.io.*;
+
+public class FileJDialog extends javax.swing.JDialog {
+
+ /** Creates new form fileJDialog */
+ public FileJDialog(java.awt.Frame parent, boolean modal) {
+ super(parent, modal);
+ initComponents();
+ }
+
+ public void displayFileDialog(int type){
+ currentType = type;
+
+ switch(type){
+ case OPEN:
+ setXMLFilter(jf);
+ result = jf.showOpenDialog(jf);
+ break;
+ case SAVE:
+ if(file != null){
+ saveFile(file);
+ }
+ else{
+ setXMLFilter(jf);
+ result = jf.showSaveDialog(jf);
+ }
+ break;
+ case SAVE_AS:
+ if(file != null)
+ jf.setCurrentDirectory(file);
+ setXMLFilter(jf);
+ result = jf.showSaveDialog(jf);
+ break;
+ case EXPORT:
+ setTCLFilter(jf);
+ result = jf.showDialog(jf,"Export");
+ break;
+ }
+ }
+
+
+ /** This method is called from within the constructor to
+ * initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is
+ * always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
+ private void initComponents() {
+ jf = new javax.swing.JFileChooser();
+
+ addWindowListener(new java.awt.event.WindowAdapter() {
+ public void windowClosing(java.awt.event.WindowEvent evt) {
+ closeDialog(evt);
+ }
+ });
+
+ jf.setAcceptAllFileFilterUsed(false);
+ jf.setFont(new java.awt.Font("Arial", 0, 12));
+ jf.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jfActionPerformed(evt);
+ }
+ });
+
+ getContentPane().add(jf, java.awt.BorderLayout.CENTER);
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void jfActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_jfActionPerformed
+ // Add your handling code here:
+
+ setFile(jf.getSelectedFile());
+
+ if (result == JFileChooser.APPROVE_OPTION && file!=null) {
+
+ switch (currentType){
+ case OPEN:
+ openFile(file);
+ break;
+ case SAVE:
+ if(saveFile(file)){
+ MainFrame.setXMLSaved(true);
+ }
+ break;
+ case EXPORT:
+ exportFile(file);
+ break;
+ }
+
+ setActionPerformed(true);
+
+ } else {
+ setVisible(false);
+ dispose();
+ setActionPerformed(false);
+ }
+
+ }//GEN-LAST:event_jfActionPerformed
+
+ /** Closes the dialog */
+ private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-
FIRST:event_closeDialog
+ setVisible(false);
+ dispose();
+ }//GEN-LAST:event_closeDialog
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JFileChooser jf;
+ // End of variables declaration//GEN-END:variables
+
+ private int result;
+ private boolean actionPerformed;
+ private int currentType;
+ private FileReader fr;
+ private BufferedReader br;
+ private FileWriter fw;
+ private BufferedWriter bw;
+ private PrintWriter pw;
+ public static final int OPEN = 1;
+ public static final int SAVE = 2;
+ public static final int EXPORT = 3;
+ public static final int SAVE_AS = 4;
+ public static String xmlFileName = null;
+ public static String tclFileName = null;
+ private static File file;
+
+ private void setXMLFilter(JFileChooser jfc){
+ jfc.addChoosableFileFilter(new XMLFilter());
+ }
+
+ private void setTCLFilter(JFileChooser jfc){
+ jfc.addChoosableFileFilter(new TCLFilter());
+ }
+ class XMLFilter extends javax.swing.filechooser.FileFilter {
+ public boolean accept(java.io.File file) {
+ String filename = file.getName();
+ return filename.endsWith(".xml");
+ }
+ public String getDescription() {
+ return "*.xml";
+ }
+ }
+
+ class TCLFilter extends javax.swing.filechooser.FileFilter {
+ public boolean accept(java.io.File file) {
+ String filename = file.getName();
+ return filename.endsWith(".tcl");
+ }
+ public String getDescription() {
+ return "*.tcl";
+ }
+ }
+
+ private boolean openFile(File file){
+ Translator translator = new Translator(MainFrame.getTcl());
+
+ try
+ {
+ translator.open(file);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ private boolean saveFile(File file){
+ Translator translator = new Translator(MainFrame.getTcl());
+
+ try
+ {
+ String filename = file.getAbsolutePath();
+
+ if(!filename.endsWith(".xml")) {
+ filename = filename.concat(".xml");
+ }
+
+ translator.save(filename);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ private boolean exportFile(File file){
+ Translator translator = new Translator(MainFrame.getTcl());
+
+ try
+ {
+ String filename = file.getAbsolutePath();
+
+ if(!filename.endsWith(".tcl")) {
+ filename = filename.concat(".tcl");
+ }
+
+ translator.export(filename);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ public static void setFile(File aFile) {
+ file = aFile;
+ }
+
+ private void setActionPerformed(boolean b){
+ actionPerformed = b;
+ }
+
+ public boolean isActionPerformed(){
+ return actionPerformed;
+ }
+
+}
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$TCLFilter.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$TCLFilter.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$TCLFilter.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$TCLFilter.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,12 @@
+���###.#1###gui/FileJDialog$TCLFilter#####"javax/swing/filechooser/FileFilter#####
#this$0###Lgui/FileJDialog;##
Synthetic###<init>###(Lgui/FileJDialog;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/FileJDialog$TCLFilter;###
accept###(Ljava/io/File;)Z##
java/io/File######getName###()Ljava/lang/String;
####
+#######.tcl######java/lang/String######endsWith###(Ljava/lang/String;)Z
# #!
+###"###file###Ljava/io/File;###filename###Ljava/lang/String;###getDescription###*.
tcl##)##
+SourceFile###FileJDialog.java##
InnerClasses###gui/FileJDialog##.## TCLFilter# ############################# ###
+###4#######
+*�#*+�##�###############�#####
#####
+###############
+###N#######
+�##M,##�##�#########
+#####�###�##### #####
#########
#$#%#######&#'#####(#####
+###-#########*�###############�#####
###############+#####,#-###
+#####/#0##
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$XMLFilter.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$XMLFilter.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$XMLFilter.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/FileJDialog$XMLFilter.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,12 @@
+���###.#1###gui/FileJDialog$XMLFilter#####"javax/swing/filechooser/FileFilter#####
#this$0###Lgui/FileJDialog;##
Synthetic###<init>###(Lgui/FileJDialog;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/FileJDialog$XMLFilter;###
accept###(Ljava/io/File;)Z##
java/io/File######getName###()Ljava/lang/String;
####
+#######.xml######java/lang/String######endsWith###(Ljava/lang/String;)Z
# #!
+###"###file###Ljava/io/File;###filename###Ljava/lang/String;###getDescription###*.
xml##)##
+SourceFile###FileJDialog.java##
InnerClasses###gui/FileJDialog##.## XMLFilter# ############################# ###
+###4#######
+*�#*+�##�###############�#####
#####
+###############
+###N#######
+�##M,##�##�#########
+#####�###�##### #####
#########
#$#%#######&#'#####(#####
+###-#########*�###############�#####
###############+#####,#-###
+#####/#0##
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/accessPoint.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/accessPoint.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/accessPoint.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/accessPoint.png2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+�PNG
+#
+###IHDR#############�w=�####gAMA##��#�a#### pHYs#########�&�?
####tEXtSoftware#Microsoft Office�5q###?IDATHKclnnn`�#���
‫ �ﺺ‬V#�#���i����*ij����Q#����#�����s�q`` �K����r05 #=%���������#��5������Խx�#�#�#|
��#S�L�##����#.�ӂ��#�� #�������T�F�#�-���#�#�#�b##����#i ܼy3�#�#/�#r
�A
u����}#�.,���⠱���8@�\d���#�#lA��,�###7n##ɷo����#�Ab##>�# ���#Ld��������Ϟ=##Ӕ������
�����‫ � � � � � �ٵ‬F#4��‫ �ݐ‬A25\�3��Z,�����#�Km���:##�o#�tw####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/accessPointSelected.png ns-allinone-
2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/accessPointSelected.png
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/accessPointSelected.png 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/accessPointSelected.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+�PNG
+#
+###IHDR#############�w=�####gAMA##��#�a####
pHYs##########a#�####tEXtSoftware#Microsoft Office�5q####IDATHKc���##��
��9#[#@##�^�O#��}���#��l�3j#޸#� �({�##V-���m��R(
��#�F k~�#�# QduT�#f ���_#��`#0H`�� #��#�Fd#�-�#QG�#���#���G�#�a�#�#�젗
ψ�#�����f#rl��Jd#�©#!#`#"le#�8�> 2T�#�E��F�#fNG�#݂W��#�{����|
#��#5�I�hԨ##�,#�#(#`q�L����@-���3�q1#�R###Μ##��@6#�Y_####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/AP24.gif
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/AP24.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/AP24.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/AP24.gif 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,6 @@
+GIF89a####�#�����������␆�������sj������������Ù�����������������������������������
���f^|����������������������Ĩ�¢����������������
‫ ���������������ب‬ð������������������������������������vn����������� ‫�߾�ݻ�ٷ‬ԭ
�ɩ�ģ������������ ‫�ַ�޾�ܻ�ع‬Ӵ�Э�Ȩ�¥�������������‫�ֹ�ۼ�غ‬ճ�Ϯ�ɩ�÷�ӫ��Ž���������
������vo���¾�‫�ݻ�ٳ‬в�Ϭ�ȡ��� ޲���֭�‫��ع‬ܻ�߾��º�Ž�º������ɜ����߳� �в�Ͽ�޿�����������
���lll
###################################################################################
###################################################################################
###################################################################################
###################################################################################
############################!�######,##########�####H���##)\x#�A�0,T#Cc##�##
+<#�—##�$Ardž�C###�0#��##b#zQ��#�#Y�P�@C��#0���D#΄0Z�8Q§
͙###yI��͙B)7^X�#�H�P�4y����#8~##2 215#��f�Y-?�n�#BB�$m:t�GP
+4s�\�#�����b���f#��1��a�#J##G#��R�J�.\|
#��XM###B�IBe�#9~�j��O�#G����f��"k��#���##,#<�h��#�O��#�G��*-z�t�hCΚ'qs<�#��#�i
�!2D���#v�H�`�@#�
#�#�#�#
+#���!#�###:#�A#e���##(8#�#��k�U��##hH##�#��o�`�!�9##��,d#VYi�ߌ<��####;N\�EYy�#bR
0#�JxR##]@aCY&HQ###HA^ �\Q�#\\#E#Q��Кk�###p�)�t#d�####!�OCopyright 2000 by Sun
Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Blank16.gif ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Blank16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Blank16.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Blank16.gif 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1 @@
+GIF89a####w#1!�#Software: Microsoft Office#!�######,########�########D##;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/clusterHead.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/clusterHead.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/clusterHead.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/clusterHead.png2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+�PNG
+#
+###IHDR#############�w=�####gAMA##��#�a#### pHYs#########�&�?
####tEXtSoftware#Microsoft Office�5q###�IDATHKcd #���ϸg�#�/_�p���##����'O�mll�GH?
N�U�V�m9޼nӦM5k‫׮‬m�2eʎ��Ϋmmm�{zzNϘ1c%P> (�E�%@M�#7nl�4iҾ�����0�#?�M��B�%PW�-Z�h#!
��囚��O�8Q#�E@�W̞={ P�?R-���#
F^��#�3z�…3)0##�uuu�CCC�Q,Y�r%�#��t5F#UWW�F�#������Բ#dNbbb2�#���g#�}=��������?
#<a�#�Kar�z�ŀ�x�����#L�2+V��#S���3��Ǐ###�~�z�E05�X#R�����#
{����#�4o߾#l �#�Z###�ΰe�##`�|#�`���`���7s�##2#9ؒ����,0nmm}N�#���#��|
�����##�r@#<�g�����"��8HJJZ#��#�D�#�y�#`K������^pR#��blI#9l�?
N�#�����#l ۶ M#�#PjA6#�rb| SSYY�8
#^d#K�#���������{��@#n#��#������
԰�$0x*0JU` �PZ ���Լ#��#XL�`-��#�.В���#h�{`�7#�#
‫ފ‬#��#kkkߐbIii�y��5��>���9RRR:�#�o|#��##��@�+�X�(Ñ#������#�|
�����!//o/�#X###7#�b`d&#�:.�#���ʈ��m####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/clusterHeadSelected.png ns-allinone-
2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/clusterHeadSelected.png
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/clusterHeadSelected.png 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/clusterHeadSelected.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,5 @@
+�PNG
+#
+###IHDR#############�w=�####gAMA##��#�a####
pHYs##########a#�####tEXtSoftware#Microsoft Office�5q###�IDATHKcd #>���x� ��
‫ׯ‬
\�,
B��3�gaa�~��緝�|�#��)�`���
 #K�-_ �f��m�#�w4��Z[��~s���=�W#哀�\$
[#�#�l��ζ��*ʾ�LJ+˿�����B�%PW�͘�#!
���*~��h�/��"��+&�_R^��#�#��#��j��ϋ�#`xFO��&���#TZ��{��Bf#K���Ϲt�&r\�MOq��(�#]���
�0�,#�##�##�-#��#þ#��g���
�
+#�����&�#�#t��#���&p1#Ӹ̼
�'�#߸#1x�v��K#",��!�#�Z#�I�
��jm�#��5+!��|A�#!��#V.��#̝
#A#L�#1##lx3#z�!�-6z�#�#�5U���c�����06_
%�#Y�#�`���#�Y���?(�I����]#A#p���?B��i�!�###��{�I#�R��%9 䰽
y�t#xzL�#[�z�ed#@�#�p�ˉ�%LMQ����^3"�E#�$\A��
*ς#��#�"�#PQ*۩aIv
͓ ͓ �(U �A����
Cii
+,��#]�#,&D�#��C#苿��#h�{`�7#�#‫ފ‬#��#���#R,�˹#�r��Ok�r���}�@�~�##$�#�##^
��D#����w�((�#��I �6��^�#�‫�׆‬m� r102#�X#��##|@�方�####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/commonNode.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/commonNode.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/commonNode.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/commonNode.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,6 @@
+�PNG
+#
+###IHDR#############����####gAMA##��#�a#### pHYs#########�&�?
####tEXtSoftware#Microsoft Office�5q###�IDATHK�U�kRa#?��5�F
t�M#]w#DD��.�u#4��n�#�`�ʹ�nf�#&��й$oL��X�MLƼ�k�K��M#�Ǧ�~ρW�Gϴm�#��y����z�G��
�����###�###�[�Vyll��V�##�#�#�����t.����K&������D—J�����'!Q��.@5#�nmm5 m�
�X,������f�
͓M#���@#�?�@�t;;;��$�z#��g�#gwC��7E#x~#�#͓ �3��
@ `�K#�9�#>8������")#�#2���ӂ3�p8\�h4#;$
(�K#�,%�V�##91ӧ���"}�T#uv�]## 5�@�#
+#��n�#�#&�.%'}�V#�mll$u:�U#����NR��#�
�K#�t�#D������##�oc##ȸR��`��)�r��##yJw#�F��9b2��itO��rO���RA��O�"�]^^�9<�{8�NB
��#8##+#�`�##ZX�4Ik��##�`dLOg��b�0#�@~���,#C�
+#�"##�#�o�z]�#%0#�#��=r�I�!{{{# ����P���1)A$#�6�co�##
���f�;��R��#c#����@�B$@#�#Νը
��������7;�#�}zV#�`�#�gWWW�u#�#�&�iI�[f��V���3�Q�q�[Z�=�qX����ԼR\<��#����#�{�#|
>�#��z������#��4�8�N#�5#��KKK�777#��Q?"Dz�����#�ϱdF#.~�#��`0L�l6��r}�x<_WVV�<�#
##�
+zM �#�g�c+b�W####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/commonNodeSelected.png ns-allinone-
2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/commonNodeSelected.png
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/commonNodeSelected.png 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/commonNodeSelected.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,9 @@
+�PNG
+#
+###IHDR#############����####gAMA##��#�a####
pHYs#########'��#####tEXtSoftware#Microsoft Office�5q####IDATHK��_HSq#Ǐ��Dfa
#�$#QD#�TD�#>#�(Y�K� BH#�1M�d��X�!�qi��b
�j#R�� �KD�C��Az�������ӻ�S��#������;�w~y��'���r�s�
��/�#K`���1��w��$�#����&�c#zB#|#��7�>##��e8�#/tqi;��dB��G�+��p�##z
‫��ݸ‬#i]=]���ⷘ&�l#���kz#�>7��$jg#�7+$##��#�#��V�շ]�8l#��O'4�$q�#q���
֌�#!
$�#���\�ٗ�\_'#� �1Q#�\ŕ�Džs##{W!zH��2#�F�T�
+V�h(���*a؎V#�
+@�D!#�##�
+95�~i�51�{3��㯍��n�##Q#ɨ<2�C��T�Uq��Q*Ae�
�j1O�Z#�E#��{v#M#b��9����
8R�v��z�
+d!v#�#�)6Z#�+��

+��� �}�-b�C8# Ѩ8O���v#V#+�X%�!##����2��B�6�k����#Y(���sY)>�@@##�� 6���b~���&
##e#�w#�kb##��|�yO�7d�#*�䥲�0j_L#�y���#`��Y�E�e#�?���#~��wk`*��f�#0s#@Y8�#�ީQ�:��!
@��‫��ڸ‬՝#ܻ��)��#�k#��,��
+�v�R�A�#�^X7�u]8�>X�#Ru#c#��^<--���¯[��=P{#����=
�6�>�����1�6���j$��*n&�#�+T��m��@��3�����#ԏ��#��#��Ac��
#N#�'�g1�3��#�a�#0}�N�#��‫�<��ڄ‬####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Configuration24.gif ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Configuration24.gif
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Configuration24.gif 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Configuration24.gif 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+GIF89a####��#������ff�fff###���######!�######,##########bX��0�A+
%D�#�ǀ�pX#`����٦*[#�`��#`�Y�6��#�#LHZQ4�Y(K�g�QY5O˕C=F%�$�##ØGs## ‫�?�ܤ‬N�$��g���t=W�
#!�OCopyright 2000 by Sun Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/ConfigurationSelected24.gif ns-
allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/ConfigurationSelected24.gif
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/ConfigurationSelected24.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/ConfigurationSelected24.gif 2006-
05-26 11:22:48.000000000 -0300
@@ -0,0 +1 @@
+GIF89a####p##!�######,########�###`^�����a^�##########bX��0�@+#@�
�ǂ�p�0`����٦*[#0a��$`�Y�6��#� LHZQ#�Y(K�g�QY5O˕C=F%�$�##ØGs##‫�?�ܤ‬N�$��g���t=W�
#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Export16.gif ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Export16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Export16.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Export16.gif 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,5 @@
+GIF89a####��####������00a==n��ž���������������ž�����###!
�######,##########PP�I��#�[�1#�}#�]�Q�a7##R�D;%A�jx�#2��#��#�B#,(��
@��1��Q,6�Q��K�
+;]c7,ɹ{9�(##;wKBX���y#��V�O#�"6��##�d

2mI&#F�B��EdJ���$W#
+#�8$J�NJ22!#!�OCopyright 2000 by Sun Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/figuras.ppt ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/figuras.ppt
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/figuras.ppt
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/figuras.ppt 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,399 @@
+��#��###>################�#ࡱ #############################2######
#����########���������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
��������������������������������������R########################### ###
+#######
############################################################################## ###!
###"#######$###%###&###'###(###)###*###+###,###-
###.###/###0###1###��������S###5###6###7###8###9###:###;###<###=###>###?
###@###A###B###C###D###E###F###G###H###I###J###K###L###M###N###O###P###Q###��������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������R#o#o#t#
#E#n#t#r#y#################################################��������#####��d�O�#��#�
#�)�############ G� ���#3###�#######P#o#w#e#r#P#o#i#n#t#
#D#o#c#u#m#e#n#t###########################(###########����########################
################{^########S#u#m#m#a#r#y#I#n#f#o#r#m#a#t#i#o#n######################
#####(#######��������####################################4###@:########D#o#c#u#m#e#
n#t#S#u#m#m#a#r#y#I#n#f#o#r#m#a#t#i#o#n###########8###������������#################
#######################�#########�#o#####�#(###�###�###�###�#######
+#####################�#####/#�#
###0#�###########�#L#####�#D###A#r#i#a#l###�##S�
0�######0#�#X�##X�##�0�#�###�
0�########�#######�#####�#@###��##�#
#######.#########�#
+######### ###@#�#n#####��?###"
##d####�##d#########@#########���#####������############ #
#########@#@#########`#`#########�#�#########�######�######�@###########�##########
#########{#######P###########################�##�0###�#####�#####�A####�#####�#####
�A####�##############�####���#@##�####���#����####�#####�#######�##################
##�######�#3###################����#ʚ;�
+�7#ʚ;######�#g#####�##########�#4###d###d###d###d#######�E�#�###�
0########.�������####p#�#########p###p#�#########@#######<#####�#4###d###d###d###d#
##$�##�k
0X�##�0�#######################�#########
#################�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#######
#####p�##p�####�#�#####�###########################�###########�###################
##�###########�#####################�###########################�###########�######
###############�###########�###################/#�#8#####�#########################
##�###########################�#######�#� ####�############ ##############
0`#�# ###���#####���#####���#33�##��#��##`#�#
###���#####���#####��S#��f#�3##�f##`#�# ###���#####���#####��#��#33�#�g�#`#�#
###���#####���#####���#��##f�##�##`#�# ###���#####www#####���#3��#�PP#��##`#�#
####��#���##ZX#���##db#mo�##��##�##`#�# ###�###���#\###�ғ#�3##�y`#���#Ӣ##`#�#
#####�#���##3f#��#3f�##�##f�#��##`#�# #######���#3f�#���##3�#F�K#f�#��##`#�#
###hk]#���#www#���#���#���#��f#�ܹ#`#�# ###ff�#���#>>\#���#`Y{#ff�#��#���#`#�#
###R>&#���#- ##��#�{p#�_/#̴
##���###�#>#####��?###"
##d####�##d#########@#########���#####������,#########�#|#####��?###"
##d####�##d#####�###@#########���#####������ #######�#### �# #######�###"
�#@#######�#### �#`#######�###�###�##### #�#n#####��?###"
##d####�##d#########@#########���#####������
########### # #########@#@#########`#`#########�#�#####P#�#R########
############### ###### ######## ######@######## ######`########
######�#####`#�#
###############p#�#>###############################################################
##�#�#>###################################################################
#�######��######�###############�f######�(##### �######################
+�###############��#####
+�#########
+##�##�6########�#�q�#�#####�#####�#####�#####�#####�### ##########�####�#
#`#}####�######�###########�###�T#####�###########�# ###Click to edit Master title
style##�#####!#######�#
+###!############�######
+�#########
+##�##�0########�#tt�#�#####�#####�#####�#####�### ##########�####�#
#`######�######�###########�###�#####�###########�#R###Click to edit Master text
stylesSecond levelThird levelFourth levelFifth level##�#####!##########
##########
#######�#
+###S############�#####
+�#########
+##�##�0########�#@{�#�#####�#####�#####�#####�### ##########�####^#
#`#�####�######�###########�###
�>#####�###########�#####*###�###########################�############�#####
+�#########
+##�##�0########�#l��#�#####�#####�#####�#####�###
##########�####^#�#�#�####�######�######### #�###
�@#####�###########�#####*###�#############################�############�#####
+�#########
+##�##�0########�#D��#�#####�#####�#####�#####�### ##########�####^#
#`#�####�######�###########�###
�@#####�###########�#####*###�#############################�############�H#####
+�#########
##�##�0###�#####�#####�#���#�# ޽h#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#@## #�#####D#e#f#a#u#l#t# #D#e#s#i#g#n###�# #####�########�##0##
#�######�###@##�###############�0######�(##### �######################
+�###############��#####
+�#########
+##�##�0########�#0�D#�#####�#####�#####�#####�### ##########�########P#
####�######�#########
+#D###�T#####�###########�#####*###�#######################
###�###########�######################��#####
+�#########
+##�##�0########�#�D#�#####�#####�#####�#####�### ##########�######� �#
####�######�###########D###�V#####�###########�#####*###�#########################
###�###########�######################�d#####
+�#########
+##c##�$########�##########�#####�### #?########�####�#�###
+###�######�###########D####�,#####
+�#########
+##�##�0########�#�D#�#####�#####�#####�#####�### ##########�####�
+�#0#�####�######�###########D###�#####�###########�#d###Clique para editar os
estilos do texto mestreSegundo n�velTerceiro n�velQuarto n�velQuinto
n�vel##�#####.#############################�#####e################��#####
+�#########
+##�##�6########�#��D#�#####�#####�#####�#####�#####�###
##########�####_###P#####�######�######### #D###
�T#####�###########�#####*###�#######################
###�###########�######################��#####
+�#########
+##�##�6########�#��D#�#####�#####�#####�#####�#####�### ##########�####_#�
�#####�######�###########D###
�V#####�###########�#####*###�#########################
###�###########�######################�H#####
+�#########
##�##�0###�#####�#####�#޽h#�#���#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#`#��##�#######�####################�######
0##
#r######�j### ##�####8###z### ##�###############��######�(#####
�######################
+�###############�^###2#
+�####8####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
##X#�
###�^###2#
+�####9####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
�#�#####�^###2#
+�####:####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
+ #I#,####�^###2#
+�####;####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####FB#�#�
###�^###2#
+�####<####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�##�#�###
#�^###2#
+�####=####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####k#�#�#�###
#�^###2#
+�####>####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####g�###�
###�^###2#
+�####?####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####s###\#�###
#�^###2#
+�####@####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�#####
�###B
###�^###2#
+�####A####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####� �####
+###�^###2#
+�####B####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
�###�
###�^###2#
+�####C####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####Y
+##R#�
+###�^###2#
+�####D####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####c
+�###�
+###�^###2#
+�####E####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####U U#�#�
###�^###2#
+�####F####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
+�###�
+###�^###2#
+�####G####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####=###O####
#�^###2#
+�####H####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####%/#n#g
###�|#####
+�####I####
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#`#�###�####^#�##
�####�#####
+�####N####
+##�##�<########�##!D#�#####�#####�#####�#####�#####�#####�##############�####S
�#�##
+##�N#####�###########�#####AP##�###################################�#
##################��###2#
+�####O####
+##�##�<########�#�$D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####9�#�#####
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####P####
+##�##�<########�#�)D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####�#�#�#�
##�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####Q####
+##�##�<########�#<.D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####F#�#�#)
##�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####R####
+##�##�<########�#d1D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####S �#g#6
+##�T#####�###########�#####CH##�#########################
#######�############################�X###2#
+�####S####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####s#:#y#�####�X###
2#
+�####T####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####:
3r{
###�X###2#
+�####U####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####�###L###�X###2#
+�####V####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+#
c

+###�X###2#
+�####W####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
\

?###�X###2#
+�####X####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####d#���####�X###2#
+�####Y####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####"#�###d####�X###
2#
+�####Z####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�##Y#�###�X###2#
+�####[####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�######�#�#Z####�X###
2#
+�####\####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#=
�####�X###2#
+�####]####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####% `�g
###�X###2#
+�####^####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####:
�###{
###�X###2#
+�####_####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
+-#l#R
+###�X###2#
+�####`####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
+�###[
+###�X###2#
+�####a####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####
o#�#N ###�X###2#
+�####c####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+*#i#6####�X###2#
+�####d####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
I#�#####�|#####
+�####e####
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#
#�#`#�###�########9#Y####�#####
+�####f####
+##�##�<########�#�<D#�#####�#####�#####�#####�#####�#####�##############�####
+ �#�
� ##�N#####�###########�#####AP##�###################################�#
##################�X###2#
+�####k####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####*#T#�#k####�X###
2#
+�####l####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+`�-####�X###2#
+�####m####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#C#�##
###�X###2#
+�####n####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
+p#�#I
+###�X###2#
+�####o####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#S#�#9
###�X###2#
+�####p####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�######�#
+#^####�X###2#
+�####q####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####f���###�X###2#
+�####r####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
t#�#�
###�X###2#
+�####s####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####s#F#�#�####�X###
2#
+�####t####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####f6#u#�###��###2#
+�####x####
+##�##�B####�#�#�#�Ʊ

�#####�#####�#####�#####�#####�#####�#####�###########S#"�####�###`######�#####�##
###?########�####�#w#K#�###
�\#####�###########�#####CN##�###################################�#################
#################�#####
+�####y####
+##�##�<########�##H�
�#####�#####�#####�#####�#####�#####�##############�####�#*##�###
�N#####�###########�#####AP##�###################################�#
##################��###2#
+�####z####
+##�##�<########�#�Q�
�#####�#####�#####�#####�#####�#####�###########C#"�#########�#####�#####?
########�####�#g#J#�###
�V#####�###########�#####CH##�###################################�#################
###########�H#####
+�#########
##�##�0###�#####�#####�#���#�# ޽h#�#####�####### ###?########�######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#0J###�#�(####�###################�######
0##
##(#####�
+(##0##�####L###O
#####�'#####�(##### �######################
+�#####
#########�#####
+�####O
###
+##�##�<########�#��#�#####�#####�#####�#####�#####�#####�##############�####�
�#k#�
+##�N#####�###########�#####AP##�###################################�#
##################�#####
+�####6
###
+##�##�<########�#�œ#�#####�#####�#####�#####�#####�#####�##############�####�#�
�}###�N#####�###########�#####AP##�###################################�#
##################�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#G#�#9####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####S#�#
#�####�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####`#7#w#�####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#p#�#�####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####"#�#�#c####�X###
2#
+�####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#
%#"####�X###2#
+�####
+
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�###A######�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#K#�#*####�X###
2#
+�####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####v###Q#�####�X###
2#
+�####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####L###K#�####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#/#9####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#A#�######�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#/######�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#�#
####�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####1#�#.#r####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#>#}#�####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#]#�#�####�|
#####
+�#####
###
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#`#�###�####�#'#M
#####��###2#
+�#####
###
+##�##�<########�#\ϓ#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####�#�#�#�###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�#####
###
+##�##�<########�#hԓ#�#####�#####�#####�#####�#####�#####�###########C#"�######
###�#####�#####?########�####C###�#&###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�#####
###
+##�##�<########�#$ӓ#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####�#�#�#�###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�#####
###
+##�##�<########�#(‫ݓ‬#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####�#�#�#�###
�T#####�###########�#####CH##�#########################
#######�############################�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#h#�#)####�x###
##
+�#####
###
+##�##�0###�#####�#####�#��##�#####�#####�#####�###########C#"�#########�#####�###
##?########�####�#�#z D####�#####
+�#####
###
+##�##�<########�#��#�#####�#####�#####�#####�#####�#####�##############�####�#�#�
#}###�N#####�###########�#####AP##�###################################�#
##################�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�###U#9####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####S#�#�#�####�X###
2#
+�####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####`##F�####�X###2#
+�####!
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#?�####�X###2#
+�####"
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####"#|
#�#c####�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#�#"####�X###
2#
+�####$
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�########�X###
2#
+�####%
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�###Y#*####�X###
2#
+�####&
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####v#�
�####�X###2#
+�####'
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####L#�###�####�X###
2#
+�####(
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#�#9####�X###
2#
+�####)
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�###O######�X###
2#
+�####*
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#�######�X###
2#
+�####+
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#R#�#
####�X###2#
+�####,
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####1#��r####�X###2#
+�####-
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#
#L#�####�X###2#
+�####.
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#,#k#�####�|
#####
+�####/
###
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#
#�#`#�###�####�#�########�X###2#
+�####4
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#7#v#)####�x###
##
+�####5
###
+##�##�0###�#####�#####�#��##�#####�#####�#####�###########C#"�#########�#####�###
##?########�####�#m########��###2#
+�####0
###
+##�##�<########�#
�#�#####�#####�#####�#####�#####�#####�###########C#"�#########�#####�#####?
########�####�#�#�#�###�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####1
###
+##�##�<########�#,�#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####C#�#�#&###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####2
###
+##�##�<########�#��#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####�#�#�#�###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####3
###
+##�##�<########�#��#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####�#�#d#�###
�T#####�###########�#####CH##�#########################
#######�############################�|#####
+�####H
###
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#
#�#`#�###�####�#�#�#=####��###2#
+�####I
###
+##�##�<########�###D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####�{ ^
+�###�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####J
###
+##�##�<########�#�#D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####i

�L##�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####K
###
+##�##�<########�#X
D#�#####�#####�#####�#####�#####�#####�###########C#"�#########�#####�#####?
########�####�#{ ^
+�
##�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####L
###
+##�##�<########�#`��#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####� ]
+@#�
+##�T#####�###########�#####CH##�#########################
#######�############################�x#####
+�####N
###
+##�##�0###�#####�#####�#��##�#####�#####�#####�###########C#"�#########�#####�###
##?########�####�#w#%#j####�X###2#
+�####7
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####�#1 _
###�X###2#
+�####8
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####y�
+�
+�###�X###2#
+�####9
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#"#�####�X###
2#
+�####:
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
##[######�X###2#
+�####;
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####H#X �
�####�X###2#
+�####<
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�######�#�#H####�X###
2#
+�####=
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�######�

C####�X###2#
+�####>
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
�#5
P
###�X###2#
+�####?
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
�#�#�
###�X###2#
+�####@
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####r
+� � �
+###�X###2#
+�####A
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####�#�#_###�X###2#
+�####B
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+�
+6####�X###2#
+�####C
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+�#�#?####�X###2#
+�####D
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####� .
n
2
+###�X###2#
+�####E
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####W#�#�#�####�X###
2#
+�####F
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�(##
###�X###2#
+�####G
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
##G######�X###2#
+�####M
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
##R#O
###�H#####
+�#####
###
##�##�0###�#####�#####�#���#�# ޽h#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#P;��##�#######�###########0##
#�######�###P##�###############� ######�(##### �######################
+�###############�X#####
+�######## ###C##�#########�#####�##############�####�#�###
+###�######�###########D####�#####
+�######## ###S##�#########�#�D#�#####�##############�####�
+�#0#�####�######�#########
#D###�"#####�###########�######################�H#####
+�#########
##�##�0###�#####�#####�#޽h#�#���#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#`#��##�#######�###########0##
#�######�###`##�###############� ######�(##### �######################
+�###############�X#####
+�######## ###C##�#########�#####�##############�####�#�###
+###�######�###########D####�#####
+�######## ###S##�#########�#$�D#�#####�##############�####�
+�#0#�####�######�#########
#D###�"#####�###########�######################�H#####
+�#########
##�##�0###�#####�#####�#޽h#�#���#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#`���##r#
#####p#####w###K###U1######�Y###\####�#########�#######/^##########################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
#########################################################################����

###�������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
�����������������������������������������������������������������������###########
################��՜.##��##+,�0###�###########�#######�#######�#######�#######�#####
##�#######�### ###�###
+###�#######�#######�#######�###############
##########
###Q#######�###########Apresenta��o na
tela####################{^#########################################################
#####################################Arial#####Default Design#####Slide 1#####Slide
2#
###############Fontes usadas#################Modelo de
design#################T�tulos de
slides###############################��##########################���Oh#��##+'��0###
#:##########`#######h#######x#######�### ###�#######�###
+###�###
###�######�#######�#######�#######�###########Slide 1#########helen###########Helen
Peters############3###########Microsoft Office
PowerPoint#@####�#�####@###��a����#@###Pâ ���#########G###
9##����######�#g
#### ###}#####f###########################
#y#�###########�###���#######-#######�#######���#####-
#######$###������x#�#x#�#������####�###############-#######-
#######'#��##########�###���#######-###############-#######$#
###Y###Y###Y###Z###Z###Z###Y###Y###Y#####-###############-
#######�###############-#######�#############-#######%#
###Y###Y###Y###Z###Z###Z###Y###Y###Y#####-#######-
#######�#######'#��##########-###############-#######$# #"#[#!#[#!#\#!
#]#"#]#"#]###\#"#[#"#[#####-###############-#######�###############-#######-#######
%# #"#[#!#[#!#\#!#]#"#]#"#]###\#"#[#"#[#####-#######-
#######�#######'#��##########-###############-#######$#
###M###M###N###O###O###O###N###M###M#####-###############-
#######�###############-#######-#######%#
###M###M###N###O###O###O###N###M###M#####-#######-
#######�#######'#��##########-###############-#######$#
###^###^###_###`###`###`###_###^###^#####-###############-
#######�###############-#######-#######%#
###^###^###_###`###`###`###_###^###^#####-#######-
#######�#######'#��##########-###############-#######$#
###h###h###i###i###j###i###i###h###h#####-###############-
#######�###############-#######-#######%#
###h###h###i###i###j###i###i###h###h#####-#######-
#######�#######'#��##########-###############-#######$#
#)#f#(#f#(#g#(#h#)#h#*#h#*#g#*#f#)#f#####-###############-
#######�###############-#######-#######%#
#)#f#(#f#(#g#(#h#)#h#*#h#*#g#*#f#)#f#####-#######-
#######�#######'#��##########-###############-#######$#
#1#_#0#_#0#`#0#`#1#a#2#`#2#`#2#_#1#_#####-###############-
#######�###############-#######-#######%#
#1#_#0#_#0#`#0#`#1#a#2#`#2#`#2#_#1#_#####-#######-
#######�#######'#��##########-###############-#######$# #,#Q#+#Q#+#R#+#S#,#S#-
#S#-#R#-#Q#,#Q#####-###############-#######�###############-#######-#######%#
#,#Q#+#Q#+#R#+#S#,#S#-#S#-#R#-#Q#,#Q#####-#######-
#######�#######'#��##########-###############-#######$# ###U##U##V#
#V###W###V###V###U###U#####-###############-#######�###############-#######-#######
%# ###U##U##V##V###W###V###V###U###U#####-#######-#######�#######'#��##########-
###############-#######$# ###F###F###F###G###G###G###F###F###F#####-
###############-#######�###############-#######-#######%#
###F###F###F###G###G###G###F###F###F#####-#######-
#######�#######'#��##########-###############-#######$#
#)#Y#)#Y#)#Y#)#Z#)#Z#*#Z#*#Y#*#Y#)#Y#####-###############-
#######�###############-#######-#######%#
#)#Y#)#Y#)#Y#)#Z#)#Z#*#Z#*#Y#*#Y#)#Y#####-#######-
#######�#######'#��##########-###############-#######$#
#3#I#2#I#2#J#2#K#3#K#3#K#4#J#3#I#3#I#####-###############-
#######�###############-#######-#######%#
#3#I#2#I#2#J#2#K#3#K#3#K#4#J#3#I#3#I#####-#######-
#######�#######'#��##########-###############-#######$#
#)#I#)#J#)#J#)#K#)#K#*#K#*#J#*#J#)#I#####-###############-
#######�###############-#######-#######%#
#)#I#)#J#)#J#)#K#)#K#*#K#*#J#*#J#)#I#####-#######-
#######�#######'#��##########-###############-#######$# #-#B#-#B#-#C#-#D#-
#D#.#D#.#C#.#B#-#B#####-###############-#######�###############-#######-#######%#
#-#B#-#B#-#C#-#D#-#D#.#D#.#C#.#B#-#B#####-#######-
#######�#######'#��##########-###############-#######$#
###L###L###M###M###N###M###M###L###L#####-###############-
#######�###############-#######-#######%#
###L###L###M###M###N###M###M###L###L#####-#######-
#######�#######'#��##########-###############-#######$#
#:#O#9#P#9#P#9#Q#:#Q#:#Q#;#P#:#P#:#O#####-###############-
#######�###############-#######-#######%#
#:#O#9#P#9#P#9#Q#:#Q#:#Q#;#P#:#P#:#O#####-#######-
#######�#######'#��##########-###############-#######$#
#;#]#:#]#:#^#:#_#;#_#;#_#<#^#;#]#;#]#####-###############-
#######�###############-#######-#######%#
#;#]#:#]#:#^#:#_#;#_#;#_#<#^#;#]#;#]#####-#######-
#######�#######'#��####�#############�###############-#######�#############-
###########f###8#####################################Z###\###\###]###]###_###_#
#`#
+#`#
+#a#
+#a# #a# #a# #`###_###_###^###^###\###\###Z###Z###Z###Z###Z#
#c##d###g###h###i###i###i###i###h#
#e###d###d###c#
#c#
#c#
#c###k###l###k###l###l###m###m###m###n###n###n###n###n###n###m###m###l###l###l###k#
##k###k###k###k###n#!#n#%#m#%#m#%#m#%#n#%#n#%#n#%#n#!
#o###o###o###n###n###n###n#)#l#)#l#.#k#/#j#0#j#0#j#0#k#0#k#/#l#*#m#)#m#)#m#(#m#(#m#
)#l#)#l#3#i#3#i#7#g#9#f#:#f#:#f#:#f#:#g#7#h#3#j#3#j#3#j#3#i#3#i#3#i#3#i#<#c#>#b#=#b
#?#`#?#`#?#^#?#^#?#^#?
#]#@#]#@#]#@#^#@#^#@#^#@#`#@#`#>#b#>#c#=#d#=#d#<#d#<#d#<#c#<#c#?#Z#?#X#?#U#>#S#?
#R#?#R#?#R#?#S#@#U#@#X#@#Z#@#Z#@#Z#?#Z#?#Z#?
#Z#>#O#>#O#>#O#=#L#=#M#;#J#;#K#:#J#:#I#:#I#:#I#;#I#<#J#<#J#>#L#>#L#?#N#?#N#?#O#?
#O#?
#O#>#O#>#O#>#O#7#G#6#G#3#E#3#D#2#B#2#B#2#B#2#A#3#B#4#D#4#D#6#F#7#F#8#G#7#G#7#G#7#G#
0#?#/#>#/#>#.#=#.#=#-#<#-#<#+#<#*#<#*#<#*#<#*#;#+#;#-#<#-#<#.#<#/#<#0#=#0#=#1#>#1#?
#1#?#0#?#0#?#0#?#&#=#"#=###>###>###=###=###=#"#<#&#<#'#<#'#<#'#<#&#=#&#=###>###?
###?###?###?###?###?###>###>###>###=###>###>###>###>###@###@###@#
#@#
#@#
+#B#
+#B# #A# #A#
+#A#
#@#
#?###?###?###?###?###?###@###@###@# #E###H###L###L###L###L###L###H###E###D###D#
#D# #E#
#E###P###P###V###W###W###W###W###W###V###P###P###O###O###P###P#############-
#######-#######�#######'#��##########-#######-#######$###
#B#
#G###G###B#
#B#####-#######-#######�###############-#######-###
###$###
#B#
#G###G###B#####-#######-
#######�#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+F######AP########.#######�#########�########"System###################8##�#######-
#######�#######�#############�###���#######-###############-
###&###$#####^###^###_###`###a###b###c###d###d###d###c###b#
#a###`###_###^###^#####-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+b#######CH########.#######-#######�#############-###############-
###&###$###3#T#2#T#1#T#0#U#0#W#0#X#1#Y#2#Z#3#Z#4#Z#5#Y#6#X#6#W#6#U#5#T#4#T#3#T#####
-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+X#2#####CH########.#######-#######�#############-###############-
###&###$#####P###P###Q###R###S###T###U###V###V###V###U###T#
#S###R###Q###P###P#####-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+T#######CH########.#######-#######�#############-###############-
###&###$#####B#"#B#!#C# #D# #E# #F#!#G#"#H###H#$#H#%#G#&#F#&#E#&#D#
%#C#$#B###B#####-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+F#!#####CH########.#######-#######�#######�#############�###���#######-
###############-#######$# #&#Q#%#Q#%#R#%#S#&#S#&#S#&#R#&#Q#&#Q#####-
###############-#######�###############-#######-#######%# #&#Q#%#Q#%#R#
%#S#&#S#&#S#&#R#&#Q#&#Q#####-#######-#######�#######'#��##########-###############-
#######$# #^#W#^#W#]#W#^#X#^#X#_#X#_#W#_#W#^#W#####-###############-
#######�###############-#######-#######%#
#^#W#^#W#]#W#^#X#^#X#_#X#_#W#_#W#^#W#####-#######-
#######�#######'#��##########-###############-#######$#
#j#\#i#]#i#]#i#^#j#^#j#^#k#]#j#]#j#\#####-###############-
#######�###############-#######-#######%#
#j#\#i#]#i#]#i#^#j#^#j#^#k#]#j#]#j#\#####-#######-
#######�#######'#��##########-###############-#######$#
#W#K#V#K#V#L#V#M#W#M#W#M#X#L#W#K#W#K#####-###############-
#######�###############-#######-#######%#
#W#K#V#K#V#L#V#M#W#M#W#M#X#L#W#K#W#K#####-#######-
#######�#######'#��##########-###############-#######$#
#X#\#X#\#W#]#X#^#X#^#Y#^#Y#]#Y#\#X#\#####-###############-
#######�###############-#######-#######%#
#X#\#X#\#W#]#X#^#X#^#Y#^#Y#]#Y#\#X#\#####-#######-
#######�#######'#��##########-###############-#######$#
#a#f#a#f#`#g#a#g#a#h#b#g#b#g#b#f#a#f#####-###############-
#######�###############-#######-#######%#
#a#f#a#f#`#g#a#g#a#h#b#g#b#g#b#f#a#f#####-#######-
#######�#######'#��##########-###############-#######$#
#q#d#p#d#p#e#p#f#q#f#r#f#r#e#r#d#q#d#####-###############-
#######�###############-#######-#######%#
#q#d#p#d#p#e#p#f#q#f#r#f#r#e#r#d#q#d#####-#######-
#######�#######'#��##########-###############-#######$#
#z#`#y#`#y#a#y#b#z#b#{#b#{#a#{#`#z#`#####-###############-
#######�###############-#######-#######%#
#z#`#y#`#y#a#y#b#z#b#{#b#{#a#{#`#z#`#####-#######-
#######�#######'#��##########-###############-#######$#
#v#N#v#O#u#O#v#P#v#P#w#P#w#O#w#O#v#N#####-###############-
#######�###############-#######-#######%#
#v#N#v#O#u#O#v#P#v#P#w#P#w#O#w#O#v#N#####-#######-
#######�#######'#��##########-###############-#######$#
#V#S#U#S#U#T#U#T#V#U#V#T#W#T#V#S#V#S#####-###############-
#######�###############-#######-#######%#
#V#S#U#S#U#T#U#T#V#U#V#T#W#T#V#S#V#S#####-#######-
#######�#######'#��##########-###############-#######$#
#`#A#_#A#_#B#_#B#`#B#`#B#`#B#`#A#`#A#####-###############-
#######�###############-#######-#######%#
#`#A#_#A#_#B#_#B#`#B#`#B#`#B#`#A#`#A#####-#######-
#######�#######'#��##########-###############-#######$#
#q#W#q#W#p#W#q#X#q#X#r#X#r#W#r#W#q#W#####-###############-
#######�###############-#######-#######%#
#q#W#q#W#p#W#q#X#q#X#r#X#r#W#r#W#q#W#####-#######-
#######�#######'#��##########-###############-#######$#
#{#G#z#G#z#H#z#I#{#I#{#I#{#H#{#G#{#G#####-###############-
#######�###############-#######-#######%#
#{#G#z#G#z#H#z#I#{#I#{#I#{#H#{#G#{#G#####-#######-
#######�#######'#��##########-###############-#######$#
#q#G#q#H#p#H#q#I#q#I#r#I#r#H#r#H#q#G#####-###############-
#######�###############-#######-#######%#
#q#G#q#H#p#H#q#I#q#I#r#I#r#H#r#H#q#G#####-#######-
#######�#######'#��##########-###############-#######$#
#u#@#u#@#t#A#u#A#u#B#v#A#v#A#v#@#u#@#####-###############-
#######�###############-#######-#######%#
#u#@#u#@#t#A#u#A#u#B#v#A#v#A#v#@#u#@#####-#######-
#######�#######'#��##########-###############-#######$#
#�#M#�#N#�#N#�#O#�#O#�#O#�#N#�#N#�#M#####-###############-
#######�###############-#######-#######%#
#�#M#�#N#�#N#�#O#�#O#�#O#�#N#�#N#�#M#####-#######-
#######�#######'#��##########-###############-#######$#
#�#[#�#[#�#\#�#]#�#]#�#]#�#\#�#[#�#[#####-###############-
#######�###############-#######-#######%#
#�#[#�#[#�#\#�#]#�#]#�#]#�#\#�#[#�#[#####-#######-
#######�#######'#��####�#############�###############-#######�#############-
###########`###8###################################O#X#O#Z#O#Z#P#[#P#[#P#]#P#]#Q#^#
Q#^#R#_#Q#_#Q#_#Q#_#P#^#O#]#O#]#O#\#O#\#N#Z#N#Z#N#X#O#X#O#X#O#X#O#X#T#a#U#b#X#e#Y#f
#Y#g#X#g#W#f#T#c#S#b#S#b#S#a#T#a#T#a#T#a#\#i#\#i#\#i#^#j#^#j#a#k#a#k#b#k#b#l#b#l#b#
l#b#l#a#l#a#l#^#k#]#k#\#j#\#j#[#j#[#i#[#i#[#i#\#i#\#i#f#l#i#l#m#k#m#k#m#k#m#l#m#l#m
#l#m#l#i#m#f#m#e#m#e#l#e#l#f#l#f#l#q#j#q#j#v#i#w#h#x#h#x#h#x#i#w#i#v#i#q#k#q#k#p#k#
p#k#q#j#q#j#{#g#{#g#}#f##e#�#d#�#d#�#d#�#d#�#d##f#}#g#{#h#{#h#{#h#{#g#{#g#{#g#{#g
#�#a#�#`#�#`#�#^#�#^#�#\#�#\#�#\#�#[#�#[#�#[#�#\#�#\#�#\#�#^#�#^#�#`#�#a#�#b#�#b#�#
b#�#a#�#a#�#X#�#V#�#S#�#Q#�#P#�#P#�#Q#�#S#�#V#�#X#�#X#�#X#�#X#�#X#�#X#�#M#�#L#�#M#�
#J#�#K#�#H#�#I#�#H#�#G#�#G#�#G#�#G#�#H#�#H#�#J#�#J#�#L#�#L#�#M#�#M#�#M#�#M#�#M#�#M#
#E#~#E#{#B#{#B#z#@#y#@#z#?#z#?#z#@#|#B#|
#B#~#D##D##E##E##E##E##E#x#=#w#<#w#<#v#;#v#;#t#:#t#:#r#:#r#:#r#:#r#:#r#9#r#9#
r#9#u#9#u#9#v#:#v#:#x#;#x#;#x#<#y#<#x#=#x#=#x#=#x#=#n#;#j#;#g#<#g#<#g#;#g#;#g#;#j#:
#n#:#n#:#o#:#n#:#n#;#n#;#c#<#a#=#_#=#\#=#\#=#\#=#\#=#\#<#^#<#a#<#c#;#c#;#d#<#d#<#c#
<#c#<#X#>#W#>#T#>#T#>#R#@#R#@#Q#?#Q#?#Q#?
#S#=#T#=#W#=#X#=#Y#=#Y#>#X#>#X#>#Q#C#P#F#P#J#P#J#P#J#O#J#O#J#O#F#P#C#P#B#P#B#Q#B#Q#
C#Q#C#P#N#P#N#O#T#O#U#O#U#O#U#N#U#N#T#O#N#O#N#O#M#P#M#P#M#P#N#P#N#############-
#######-#######�#######'#��##########-#######-#######$###S#@#S#E#Z#E#Z#@#S#@#####-
#######-#######�###############-#######-###
###$###S#@#S#E#Z#E#Z#@#####-#######-
#######�#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+D#U#####AP########.#######-#######�#######�#############�###���#######-
###############-#######$# #m#O#m#O#m#P#m#Q#m#Q#n#Q#n#P#n#O#m#O#####-
###############-#######�###############-#######-#######%#
#m#O#m#O#m#P#m#Q#m#Q#n#Q#n#P#n#O#m#O#####-#######-
#######�#######'#��##########-###############-#######$#
#`#M#_#M#_#N#_#O#`#O#`#O#`#N#`#M#`#M#####-###############-
#######�###############-#######-#######%#
#`#M#_#M#_#N#_#O#`#O#`#O#`#N#`#M#`#M#####-#######-
#######�#######'#��##########-###############-#######$#
#f#T#e#T#e#T#e#U#f#U#f#U#g#T#f#T#f#T#####-###############-
#######�###############-#######-#######%#
#f#T#e#T#e#T#e#U#f#U#f#U#g#T#f#T#f#T#####-#######-
#######�#######'#��##########-###############-#######$#
#g#G#f#G#f#H#f#H#g#I#h#H#h#H#h#G#g#G#####-###############-
#######�###############-#######-#######%#
#g#G#f#G#f#H#f#H#g#I#h#H#h#H#h#G#g#G#####-#######-
#######�#######'#��##########-###############-#######$# #m#?
#m#@#m#@#m#A#m#A#n#A#n#@#n#@#m#?#####-###############-#######�###############-
#######-#######%# #m#?#m#@#m#@#m#A#m#A#n#A#n#@#n#@#m#?#####-#######-
#######�#######'#��##########-###############-#######$#
#j#d#i#d#i#e#i#e#j#f#j#e#k#e#j#d#j#d#####-###############-
#######�###############-#######-#######%#
#j#d#i#d#i#e#i#e#j#f#j#e#k#e#j#d#j#d#####-#######-
#######�#######'#��##########-###############-#######$#
#a#_#`#_#`#`#`#`#a#a#a#`#b#`#a#_#a#_#####-###############-
#######�###############-#######-#######%#
#a#_#`#_#`#`#`#`#a#a#a#`#b#`#a#_#a#_#####-#######-
#######�#######'#��##########-###############-#######$# #}#Y#|#Y#|#Y#|
#Z#}#Z#}#Z#}#Y#}#Y#}#Y#####-###############-#######�###############-#######-#######
%# #}#Y#|#Y#|#Y#|#Z#}#Z#}#Z#}#Y#}#Y#}#Y#####-#######-
#######�#######'#��##########-###############-#######$# #{#Q#{#Q#z#R#{#S#{#S#|
#S#|#R#|#Q#{#Q#####-###############-#######�###############-#######-#######%#
#{#Q#{#Q#z#R#{#S#{#S#|#S#|#R#|#Q#{#Q#####-#######-
#######�#######'#��##########-###############-#######$#
#t#_#s#_#s#`#s#`#t#a#t#`#u#`#t#_#t#_#####-###############-
#######�###############-#######-#######%#
#t#_#s#_#s#`#s#`#t#a#t#`#u#`#t#_#t#_#####-#######-
#######�#######'#��##########-###############-
###&###$###0#"#/###.###.#$#.#&#.#'#.#(#/#(#0#)#2#(#3#(#3#'#3#&#3#$#3###2###0#"#####
-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+'#.#####CN########.#######-#######�#######�#############�#############-#######-
#######$#####"###'###'###"###"#####-#######-#######�###############-#######-###
###$#####"###'###'###"#####-#######-
#######�#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+&#######AP########.#######-#######�#######�#############�###���#######-
###############-
###&###$###)#"#(###'###&#$#&#&#&#'#'#(#(#(#)#)#*#(#+#(#,#'#,#&#,#$#+###*###)#"#####
-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+'#'#####CH########.#######-
#######�###########################################################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
####################################################C#u#r#r#e#n#t#
#U#s#e#r#############################################������������##################
######################D############################################################
###############������������########################################################
############################################################������������###########
###################################################################################
######################������������#################################################
#�#$#######_��W^##
#�#####Helen Peters####H#e#l#e#n#
#P#e#t#e#r#s#######################################################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
##########################################
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/hierarquica.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/hierarquica.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/hierarquica.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/hierarquica.png2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,34 @@
+�PNG
+#
+###IHDR###�###�#####��####gAMA##��#�a####
pHYs##########a#�####tEXtSoftware#Microsoft Office�5q###�IDATx^�]#|#U�@#-�#
+�4!t�&6Dѿ#�����.M�##�I/JG@#A JUQWX:RB#1*#@) �#�B�p���7�I�Moo��w~��w˹g�w�̹ �s�UA
$#H �@ �@#�$�|�l#(#T###*#"~Fb)#*#*
+*#*#b[��gl#�@#�H�#z# Z#�#��@�@�d#�#��#�#T?T�#\o#U#5 #6#Wֽ 4#�d �A���@�Ъw-
�w�#�#�� ���Aw��JZ]�#]�ꁂ��)����S �} �G}aP
%��6�4/ɕ�#]A�xS�#�F$@��8����@ #M#� #u#k�s���G�#TP|.����I�YЫ
͜�,T#�x�[%��Vu#�k�#����#z#�.����͜ _K�_'�y�`24#q��9#�;�#PS?
MT�\���l���,�j�#6a��A���FO�ƃh+ʟ���$##�k�h ‫׼‬#ė~6#�#�
��M�x}#>�>��$��##��s#h3�#�A�C�#�=B
��Z#TD#<W�`�H���N�
+���‫���ג‬#w��#U#�#N�j%h,�f%#�[AqN#]047K"����##�m�+!uIy�=b�⁉�
w�#�4��C����1���@#&K�F�#���䮃�#�#��|��uy
+��Z���#_� ������!L��N�#��-#�|
���͢
>��#�O"�kE���J#f�4�#ўʝ)3��3_�e###�'#m�z��L�����t�#G#�0���#}#<W�#�#
#0zРA�@�y#xy�8x��a6N��T�v���I�11#~Ÿ#5�=Xc}�Vo#�q##Z� ߿��ߓ��Q�F�!C�##5#
#:T�#1B#�]ǎ#k��@�����
�I �&�#�'D�nO ӈ,��D��yD##�)W�\#����J�������Ŋ}#���)b�{#pA��q@:�
{�.+&#N�X�b�7�'@#�#‫ݤ‬t���
+���#ə�] �#�1���F�R?������w�#�|����ϋ�ӧg� P#�W###EŊ#��ƞQ#��N�
+�#��?|�p#�g�L/�k'V#<$V�>�i��^�‫ޏ‬##�ibO##7\ɱ ⶃ��###'��jժ�G�#7##6#S�N#���#n߾}�#x|
��#\�#���O��R:�^�#���$�խ�):7�SwD{:Hy�|���#�#=z�X�z�‫ػ‬w�hӦM#�#Ĥ#_|
QZ���ϯ#�'V\��>�j��W���bΜ9b�ܹ�����?^�$p��Y�f#�J��R!_���
�UGv��h�Wr#�+k�B��+��"Ν;� �˗/���4���
f\=#\#q�r�}�w�ŋ#Ŕ)SĤI�ą##D�N��#�!z��)#�?�S�N�~��)��a8��{##�B'�dz�#��d#n�V�$��+�
‫ڵ‬k��X�J�LUa���bܸq�E�#��~=#\��'d�r#‫ݼ‬y��޽���r�%� `#�k‫�׮‬O�>�K�.����‫�ف‬C��]T�1#�'+
p��d#�]�ć#~� J��C�##xY�����Y� ��뙫&����$#V�
+���[��#�###���ѣY�#���#�����##�++GT2� �r��I7�iӦ��|�gDJJ�(_��#���h7#�&�5^�|
�#@�*W�M�6��^zI#.#<m�4��oJ���?�)�2'���#+.��U�.��#JW�4LQ),/�qK#����Ib�;��…
�c#�#p�B�X �˖-#�֭#cƌ��%��;w�,��J#7��#u��>�<���]##XTS<#�ju����U#RŢ#_�i0(
‫�ە‬#‫ܤ‬V#�p͘C
1 ̜9S"�ʫ�*#ԲU���w��r��o��t�T��8�9]y#���d���H�L�$b##���+#�%�k�fĎ��a6T�##�
%'��#��1���L�c�U��JF^C=���##�6�K�[�`��p&p�#��z5�Ɗ��a�tm@���k\y�S3�G��A�#g�>
+j�#��#����l��-U�l�#oO#[O��-�Ί{�<r#�>.#�~��uլ�!#c>�k�<mDS<�#g�x9�b�a�~�N�kd�:h�
+b�#��B#�j��z���#f=��
�4�լ{�
#WAw�#k���G ʐ
+�C}��P+#`En�ӕ6�#�1/�f��p`����>i�##�
#�ø#R�#��IG#��#���#��[L�9�&��U�A#��#U#�/gv�#��m |#�-�2#��m�#垧
�#����#H���#p;e��]0.��kJ�~#]4�7�5��ߍ���M[��}#ĝ#�<W�hQ��s�#�#1���
%#��"��a�/�#��y�X�w�#3!7H�#���#�9��!
�m�r�*���y�F#/Si#�o#�'���/#H��*��=Ԫy#,#{aۙ���֤##�p�ʪ��/7�L-7�7�#�A #��M��ۙL
�=tT�#�
+#Yz�`�}7�T�b��#�Ǯ_#U1k�@U0K�#�y|�##%U��p>��K���@�a�V�Zm�ƴ�b��?
D�֭�(V�#�mX]�`#n�#.#p�Д#����#�#x�]�J�v��ѫj_
+##p#��ӟb#ƻ�#�R�#�F%hn�
+��)S��T6:9#�(n�##��p�#��##��#x#ӣ 㓷 Kt�#�S��'��#�\.^�#_L�<(��#SԆ#�# ‫�*ܢ‬X���R8�#0�o?
{^�qKFg ��%�x#rn;M3u#pK]��#�2�3|��1r
��#�#�D�#�#.uT���Rfm�*+�#W"tf�#��#q�2vP�y hv�l#��7���2��#]��N���-
�D�ҴC��_�7����#�J#��𓘷y#u\�j�###���4#���U����>�hQ-
�W�#��mY�a�111���9&�`��$@O2��U]�6Ȕ��J5j�/��.?�# ޽d��Vn[��dP�##`|5�9�xr�I�
���E���3��t�4W�]�;#:�# P�U#1�4'�"E�$�c���Y|��G��###�O�F�]
+�iL#���4�E��L�Ig�##�*���6(���M#j;#�E�#x`r#H�����#㙎 X��q|�
+#�Uf�##a��h3��Y9&‫݋‬H��<��e�#‫ފ‬HA[�ީ�#�OP#PQ�d�Z�������z#�AG�X���x� �_B��##�\Ǹ�#��|
kJ��*5k1ԕ���J�ԅ���굺�<S�ȑ�ՄNb�[���#��W ߍ����d�Ҧ_�ɭ��C}��
+ж#`/� P'�!�A�#sӇ#W���t�/YV
‫ܪ‬u��#�/jf�H�'5�#�#��#��u�##a�;###�#W�];�o�:_n ۱#�lt7�g�#k֜���#�CO>���EWZmn���m���#�\
##���,�'�##�Efa�'5�A^�f�^$�6j&��Յߥ#h�#1��q7��Is�ٰ��
���Y�rX���H�d��+��\�#<#ddS�p<<#��#��� !�#�̎�|l2X�hD�D��+U##�i#�/�{�_��/#
%�ƵI�{'��3j�;ӥC�r_[O�%p'���#M�#
#'�w#`|B��2�#_����ҥKb�‫ر‬R����N�u��aǎ#r�h�3�ɀp�=�J�T�G�#l##N��m ‫�܄‬赖�
�#'e#�##eG'�#��rm�I}#��#��j;D �ŋ#��+WJ�#P�wZ�d����#�Y#�[�n�#\#����^�#�#ib�9d���#��-
lŊ#}�!�#"����G�#C�FdY��Y#��d�#��### ‫ݺ‬uˢ#Pe��o�…#�<�̽
vͥ K +�b#�K�~�#�6��T9 ��IʼE1#
+l~��Q��lԘO#?G‫�ؼ‬b�#?d�������,%pSSS���U�W�^"99Y���[���
�۷ o�#\�tu�#��#�.�/ws�L�@#0Ǚ�
+T�W�� �PoժU�/gL�G5a���aU#���#���/��_#‫��ׇ‬#���<##P#��T)��3�#m��+�#\u���

�p:.��z6�<�##Z#�;��9#�]#1��S����]�#��l�N�F�ȵ[��ev�#��n.'��eAi#��6�w#��We�#�1Ǥ���#`
~#�l#�p�#|��R�#���l�jwҐ9'7M�AO���\�y�嗯#>|�o�#k8y���#�y�g`k�R��q��2�~�j�
wcr�7#f3��~�#�#y@�=����iP9V��5+6W|�z7_#����>�A���#�#�
><����
�# �U#�oo�� #�ҮҲ�fS�(��6N��]c##����
؊}��#���o�z�5�`'G#o��FA�qk�\����Ǘ�J�0�`�H#x��#on?
r�#�#�P�Qx�q^#����]#>�e/~;<���f�mf##ds9‫��ܐ‬t��*#|u��]|��k�,4u)�|9�#�����'�|"�͍����
s

+��JO'�?o޼�#Y~�vsm##��<�r�#�i�VY��#�#����,<�Ӷm��|��vL0�k�q#�#�
w#Y#X�xϟ?/m�#8p@2##�#�c Ǥ��##}��̜
���DB�-\��3/��e�E�#a٫֮c�#�i��i�Q�Fe����m ۶

�#�*#~����ƹ�H�f#.#�#�۵ s�#��Ox��};##��&#�\ȫ&WYz�)_��7u��Ǐ��#/JD/:�x(W\�q�Ɲ�\}r#�1(
#"#<�3wȸ��-p��M�nܸQ��+�
+�#�7brYqw�h��5q�#��#���&^���V##�/et.�>}��#w��a�,%%
%������e�E[�1#L�b���`���D�##�2�~S:#M�8QL�<Y"#��ƍˢBL�0!
���
�K^/ �Ef�Y�y# �C#�#�z�E�&L#�7<�hw�##Ĕ#iv�"4#O��ʇ �#i|
�o�l��VQ��Z@LS#�;�#ǵfU��D�R#{�#'>J�Vt#6B�(K_Ս�Q1��C�w�[�X$�� Z?��o�����r#���>��e 뗦
4#U�#�#��R�y�{�KiBy�]�5�##npz6E��cb&��" �1Q��kM���%�����
�w�$x�w�7L��}���d�#Yv�F$�&p��ǂ�#収0����޷ �#-#��##La���]l��C�T#�?����#P#�v�a{/���
9�{‫׀‬XqS��Q��q#xS#���G*`�#�����r#c�#�#>&⯹&�j�#�'#�M#�7#�V��#c�e#�ia�l1�m�@��?:: �ۨ�?
#;������pѢS�#��bJ�)�L�2�M�;�X�`A�y�i�13Be�#��##�K#���[qC;�on#9�̢
#dVT�3y##��k���>@#
>͖ �
r�
+�>

ԮR���###9x��#s#��#��۠U.#��TL�9��#E�#��n���CǤX`��cK����`͏ Mr�$2f)#���M#�iO^������
?#����MP[�##[!ǁ^��#�6 T#3o~#{��=?#�=�u#�V)#Z#rDn4}WF%3����?�/��)
��pm��@U��6A�92MN�n14[7u�{��\��+��[t��۬C�#�#�W=�#�M#�#�##��#E�#�'#��
���S���s�J��|�ߨC��#��.V##��љ/�`k3���#�r�$�U�Vm����
+Z`�#=�ӫ#�R�#+!#��#�k�j�,#�#��Q?Z������>��
+����V���#�#�#���
eΊ�G�#��5v����> ‫ڂ‬L��̅
��#?�tj/8ń\#Ghd�Pu�O#@���#Wr�C�#)0���#���#��5#�‫ݟ‬i����
#Wk�8�Øk:‫ג‬l�#��j���#<2d?‫��_څ‬#t�A��g>�Q��)#�C�m\#ZS�‫ܝ‬n2��?
�#�#�›�#>3���>�L��S���I������m�~Y��u�WɢV�F#�il�#��\g�I�`tl#��!�C#� �ީ#����#k�o
#n�w#�n�tt#v�a��N�4�9��� ����.‫ض‬C#.\8�#�j:US#��#�UGjT��#�O�#�#u����=��#b�
Ag�
+�#~#�1.睾�v���#E����%��#k�g��R���P� jY�##���ߵ##̭��� -�P��#�1]N�t��##|��tP 㝫
>^�#cu4>^�=�g��p#gDD��LyN*;##���>#k֬�bc1#Fbbb��#F0�1cF��y�E������Q
#�t##p��ɄƱh�Y��MwT��#^ƺ)��@n,<���YLb�ӫᒗP?�"<��-]��X#�#L�~#Ǡ��#?w+���z��Z��|
͛�##�#���{�n)Ϋ|,��]��]�+p�#=����
͛ 9c$#��si�k�j�*u ‫܂‬E����]Ͷ9�?
k#�.��K�2U#��\�#Vs‫]׮‬RdBƇMOO####̑Y�cǎn�
�##}���Ls�RmW8I�̅ '#��L��#�n.E�0�#.
[�#a2��P#F+W\ƃ�Cm��ߵkW)#*W\�#�N�U7{._�f��Bdn�S��Z#޹#��
叔\#�����uѢE��#gΜ)�N�*��T#��W��:{JT����tG#�#n�0Ė��#�'
�bs#�#4Qn<P] @���#���+‫ד‬w
ͬ �#a�Y��G
ͬ �p)f
+�9#��Y#�#�����q *�o"�##�]M- ��#�[�i`����#��4�#�!2#�߆tv% �n�x��]��#��#
|\��C�N#bɚ�#������#�yMxP#�QeР6#��#=�/wQ���?�_xN 煮 Z#���7��#_��d}�Ӕ*�#�
Ɛ$�r���r�.�&#pN�ʰMA_#����J^#��#5�l�‫��܊‬#-Ѣ{#t�M#\�x#±'7���u�!������Gn�Jk70#��#
8�#�%#��<��[�]F��u:��ҹ�w�#pn�#h�b#� #�oJ�\q=#�ߔ�#��%#:���x�#&#���;U�R��#*‫!ר‬
J^w�#tC�<�#��>#z�k��_:+#E�##��#� �>xH,�i�(~MI��z�<
+f#�Jz�i%�#��c^e� ��%s�FDz�C#�Ĺ����b��x'��8�m��V#��Ȏ��kZ�X#��##�Fȱ'x�q�#1d�
�#��5�=�;���ȁ���;"q�H:yJ�N="��:'��\'zu4H�#fŘs�#���;�ӏ7�iӦ�Eʔa�uW#�U6‫ܣ‬u�‫�ܚ‬gқ#
+�ƞTQ��*��#][��c2U# ܏~#D���R�E��#&}���#Ѯ�#�1 ��^+�ƃuh##�P#S��!###�#a,g
+ o�y1#3F#C#�X��#Gg���#�^��G��g?#�c��z��A##�/9�>�a��c��#11:��
}�W�H6�{��]��7�N:y:s��t�7Q�~}�g���e}rk�e��a.��U�<#n,q�� ‫܍‬#�٠i��-s#�'�#��
%�m�$���1�$��3#L�7�}�o?tI�@��Dx#��#&e�#(D*�#��� x�#�#1��#6L‫��!ݺ‬
+kd�h�txa�UW�CkX�G��C#���.(�$�M�< * #,\#<͌ SMk�#t���]#5#�X�q�o#"p�Zjy�w��EDuF�#\#��겨
�4�K#��#�a �Eb#(�a>�8<Հ�##U+# ��8?_�4#�x�#3�? 97‫�؝‬b#Ȓ�#��#-�$#꽶
�Qu�vпu&�#(#s���0:|et�#Ġ{<���U���#�3P#�t�Cs�ߘ�#�ΏW‫��ޠ‬#D/9��3�&s�Qo
J#I�7�.#O�n#9#�*#��#�)��X\��#g�##�E�}
+��B#L:�<m�hV#@#h+�E�C�MC@��鹪�#�#4#ē#A $�Z#܏g@
+#���@�@��3+��#\{��߳�#��z�<#��4;�#�=�+Ӻ��cОJ# ��S}{���#"D#�#�#s�x�^�####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Manna.gif ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Manna.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Manna.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Manna.gif 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1 @@
+GIF89aX###p##!�######,####X###�###������####œ����#��� ޼�‫�ڋ‬#��H�扦
�ʶ�#r`�rm+v���1�##��#W###�#3�#‫���ޚ‬h�ҤПv��r����:�^�Y5Z��#�e��G_;�u7��7�7��##�ƅ����
#�ָGDx)��#����#�###�'#�iwX�y��i�z�#;�*kkh�+Y;*��#�I
+(��&(VLz#��#<�#l|�����=�P##;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/New16.gif ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/New16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/New16.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/New16.gif 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,4 @@
+GIF89a####�####������������������������������������������������濾侽���������������
��������ֲ�‫�����������ٱ�ؿ‬ʡ�̩ �Ե�വ‫�޲�ܯ�׸‬ᗙâ�ͨ�������ö��
#############################################!
�######,##########t@�pH,#�G#LɄ�\FX+0�##/�U�#�#�k�E#�6#eK#X�P#�E]��:�I�@##�######HR#
###C#l#
# #0�-�CR##��##�##
+##jRK�MB���CT����HB#b#A#!�OCopyright 2000 by Sun Microsystems, Inc. All Rights
Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Open16.gif ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Open16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Open16.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Open16.gif 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,4 @@
+GIF89a####��#������������̽
�̴
�̳������������{f33###���######!�#####,########@#>��I�d k�
+��"�#c��#�#�#��##�#q##�I��#�‫ڨ‬R)���!�r;_#&� #����#R"#!�OCopyright 2000 by Sun
Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/plana.png ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/plana.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/plana.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/plana.png 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,23 @@
+�PNG
+#
+###IHDR###�###�#####��####gAMA##��#�a####
pHYs##########a#�####tEXtSoftware#Microsoft Office�5q###�IDATx^�]#xT�#�#�@
+AB@##H�##JH�#@@bDA##E�ё'�<Q�#*E���X##AZh#C#CoJ/R$t###e��‫ݐ‬%e�;���|����9g�{vv��)�
+�&#########wB�0M֋ȏ#�]�����o#V0J�_#�R�C?4�-i#�N���j�@"ɚJ�a��#�}��#Qm"O�#���m��Z?
C�0��DQD�<�7�h#�.�"D�##0:��e�`� D#���O�X#���� he�EmY�� ##L:_!:D�Ǻ
+�'=�#ƪg#"�#��"��f#���a��D�#�%��5+#�L�G#鈽�#+� �p]#[��n#]
$#Ed3Nl#���r�G�>3+o��#�J�����+��0Lsṹ��`��gb�#}Jt�h'�c.3Ky#�F���#"z��#�h{��&�N�#
%#0~�#R[#�����$0�Q#o�8��#�1##�a�3��#m%��G��s��,����#|
�x##�##�#*Gt��2�wD�Y���(�(��*#��ES�@ �E�hV#p��"QS"�#U$��-$ZM� ��(��@MW#F�t�훮��%
�# �k5R�%##��<�RHȕ�@,�zDRO#넉
�[#'#�##�F#���+��##�IF�]�=M�#�K���q�I#`>j#���
�H �� h6x�Z�r�####�5�q�h#�|
#�I��d��0�d0}�V#����p��#�#��.�se�o٧##�-W��_��`qM#����
Ҷ v�(��� M�p�_É#�Dg�#n�\�#M_����
‫�ت‬Xh��#�#?ӼZ�Ķ�FΜu�#�&�C���_#�h�R�0\.ϲ� ‫���צ‬Nf#n ꡣ ̻ dI^�[y��c‫ٺ‬s#‫ؚ‬Sg
‫��ٺ‬Y����25�E�#*���0+���gB�b�XPŊ̳�h ?��G�ʕ�ϼ�m����#�#']Ӷ\�����)ֵo�9���‫�ی‬g##�#�#5‫׵‬
‫ݞ‬g�i�Y��#�v�4#�VM�j###��cc��ߕ�|#�<�I#U�B>y[���#;�m7>��#�ߵ͛��^���G#q� �� p=<<͛ 7
‫ٸ‬q��QQQ,g�0a####{po��#�-
�c�;b�������
�9 �<#&�k�� q�����O{���ۜ�#�#S��HkG�#�V�N�:��w�Z��[�f�###,..�M�>�‫ݸ‬q���~�q
��#�;��
��.###w(2&��>�("��q��~#��k��w�r#.V���Tv��#���hg�6C#1b#o�-ԶKW�&�g�g3-
[��#��#�;D##N8�4U�!A�\����� ˋ�#5�eee�#nff&�p��h9������cK��2��Y)?? ӿ`H�^�.�
%��j��C9R�S�
�cǎ�-�ȑ#Yzz�e�###��Ux����‫ر‬cYRRR^g���q#NHtp#�$�9h�`�D#v����
 ~�7 �d#%�8%%%�pm[�|�
+Õ#�N݆�\��#�]��]��beE�˗�0����##>�BCC�^ք�JD�x�#���Ժ�##aHi�9Ǖ����##[#I�L�e&�[%
�Y��;�UR�c��/
‫׬‬O���H��<#"�uoH��X�#<#GXRO3$�'�i�##
l�4#��#(QA�#H.1]#|@�#‫ܛ‬KTKt�##�m��#� �^���@#�M/#/lg�E�Q�~�##r�B#ƫ�ʋl
‫�ڮ‬fө�"#KF#A#�f�R�@�g/:�#�Z��<�fЄ#�h%�Dr�*B��=0x��*#*}�0�#�*����]
{o~��w��T�P��'�2p�û!��#o�9� õG7#qb#rL��#��d~���H���##�r�J��E�#��j��#s�#�ؒ#�Y|
�##H#�#�j}H�t�0‫�ܛ‬#��{��m8��‚##S%��#��f��k�[l��#l����9_�yIn��#5�6���=OD
+�FD a�#y:p# �Z#P#̭
M#�؅�G�ƎSK��o#O�S���
� # �?��� Hv�\
{�O�Hx�Z����J�Z���P�x�e�[Fy#���##S�X,2\�s#Ī�W��Z��#�C��
%��#Zq#�H�#e#����K�0��#�~�#�3#�m;�>���#�#�Y�‫؀‬9�#,{kв#G#�&!��j�B�n�#�a�u��"�##j7#=|
��#a�<Pt�G�#�Jm��j��2��l�h/�թ#�F�g(��e�Lœ>�#���#+X#���*���#���3#�
+#l�{�C�D###X�#O�R � #(#�����"�� N#4">���#���###�#(*٠��½�]�>+~zn>P�km##,�#h�|
�##�‫ݒ‬a��##
<N|�&'p]����ӼJ��-g#n��xy{�xE##8B##=XD%�h��ř�
‫ג‬l�v���ƿI�Dttw#d�
+�=���#0�\6�_‫\ݷ‬w�EY�oH�%_�p3\#�մm��K~?�R##c-
�Sp�-.7d=;�Y*#H#���#��#�R�j6\��K#B��h�G#�T�##�‫ޝ‬I�#\��#��9q2{s�#���n�#UtQD#}##x��
%BФ#��ӏ�V�z9�� ����*���'��)ĦF|���������b�)�����؎[wX�z��YU&#�I���?��~�f_u�k?
E5��b$�IC�#�wYN����P�jL�&iC�{M��#�lfk�/��`#���,�^#w_qq�ӶlŊ���p=#h�…/o�t��0�F
՞�ѪzK¼n�fw֟�h��##.R���M�$#&�#Z%�6pX��#�ҷ�ߤ>�
+�r�������c'XT�:ir#X�2�#)�
�#'!c(t#�O�#P?�T�j�‫���~�ڳ‬gz��r##�гH��#��u�~����D{̄ �I�I#��5mu�$�#��|
6y�#�#�B•�#�r1�#h����ȱ#_��k-�l՟~�
‫׏‬#/��X����S�'#I9�hx�Wb�6]�#)�3PS�#r4##~^n���Y��#�fP��R�v�F}T�u"��‫'ﭸ‬#~��D�|
��#�X:4�.��!�Rh���r#�|�mf�#��#�#�bx�sj��#Ȝ��6��/#,&!�#�@�#�6# ,�-s�A|
�##+�Rz�u�l�����~��񾥴)#Vd�#����)$8#�ř�`�#� ͓ ��
S ֗ 4Dj#-#ܱ/5�E�#G#�w�A|
�##L�m��B�NϞ��~M��i�#(O/#u('�:�-��;M�!#��S��Z�?aK3w�VV�x�wu�`pA_#dσ��hn�@I_�k9s���
ߧT)�n�$B2ܳ9##\�#2%#��:}�‫�ݣ‬Snȼ�###��p#D�,}�J���7#�^#;��!#;$���n#{���-�!
�H�#2�+#�QA^��#U#�$ �w���f���jА#�� #@��#�#P#%����ч��o���
�s�p#X��T `�.#��#�uq��#:ӇN�<h���`%�_u��# ‫�כ‬w� �K

LD�##��m��#�x�‫׬‬C��s�/W�`��y�֊�#a��'��#[�g#kӹ#�#DŽZ���#lc�- �u��nm:?
{,�WҖ+������#�T����_rAL�H�#�#��#��kHÔ�z�����6\��Z?�#�k��v�=<���‫ڇ‬#w�WoC##qznFf�#��V
+�'A#�̖�
G '�"#�Y�#�k#���/#y��!��i#�=#*��_^�{?K�@���-��V#��@�
�qF#��j�R#��o#�}�i,T��&�0�#��GH##(G�#�C�H��&#`+��$3�rw��H�� �|��$��N��
�##j��i;造��}G��#���#|
0�=Z��#m5P]�G��O#��t9��f-]�<{�$�#�;�\9#��n��ѥw_�3#{��\ ꬕ J�nO�Q[#N�*#�6���u�e6�}2��#
���Y���p�#�%�0t(B-K?�:�>(�l���s�0����J;y��p�K��Ŋ#�y��Y�#�Qn#����?
S'�1�X�7�5�#n�b^^)�(#�v
+�#9�,>�(�r�ÃJ##�z�6��7cA#* )#�պs�I��{#7k�##E�����.##��A�##
‫>ܬ‬C�L�g���$#���m�#���n�@r󼊲_#v�e#5b�‫�ܒ‬X�n���>#1�##�
‫ݤ‬ɬ��V�n}�E#�^n���l�#AX�#M#F�#����‫ �۝‬#�Lp9�##r��!��#��#�f�;l����
�nzQ�Nz##��$n#�Z�xn#�<#H#����o���n�`#��%RF!҈;C!�
] ۢ��#��#T�^�}hT##H�t�n��‫ۀ‬#
+�Q)!�=#PR�̆����
L C+��N�R##�6�#�)�
+
*��F%+7.#r9��`W��Bz�(dj�@�z-[nC2k\�o��#Ot 뎗�\�U#Z!
�6�#�W6#G��[�o�+��:��>/>���L[`=##+#�8�_2�1�#�'���:>}###1m:�uf,#(w�� ޿��Jr#���2c‫[ۍ‬
x�rw ��wqEu#�##)�_VF�_�#@��gZ#��%J�(###GoV�l�K>>>�<<��ԣu�ΛS��#���&O���#U��^�
+#��0���#�w�#\��#&C�K?QI��l�_�q��3�,N�‫ؿ‬E��z���|�#P>42re�Z�Y���##��
+x9,e�V#S)CJ�#2�u��g#&�q�#V%6����#�#?g�F��#�ʒ�"G#��UF*K�^�f�X�F�6γ���,�]
{#�0������#��}I�L��դh|#�!�#�!���~}B�DN�*Yr&�3uA��Z��: #)O����Y�r�[eb!�;F#G`�#w�
ߣ#�'#�E+#���1V��#(U#�yoS����# �##8#�o��pv�֞W�N���W##������#?G���W��QQ)t#��#Վ0u��!
g��p�8�@�#=�#~���[
+�u#0�#�G7�+‫�ܔ‬.Me#)k�EK)X4`�+M�:#�#�"1��##‫ݿ‬t+##<~�o#���\��(a���R���#:nBv8B ��[-‫ק‬
9<�䭈��0#. �#�3Oee�f_:(�!N�vɁ,0�11�8��8
<F����#�#��$��&�#�aNs����g�A����#j �#��Gy��3/���k)��/'n�
‫ޚ‬j��V�WX��I�:��kU�J��rV�a�ByR�=.���>8"3r#6lg�n�p�������ŵ�|��������##�d��?
##ŧ?͓
����8r��i�#e#�l�#�G3k���$�F����Lb!AM�]#���#9se�y���v
‫�ێ‬#}�/�^#Sm��A1"##~&���f\#��8���#?�p��#��Z@�0 1�# #]F����K��Ə���##)#���
3�#�#ͼ#�~�a#�ܰ9�q�vș�H#-#N#ti�$u�.��P^#�#�Z��!��M^�P�#�|f�%�d�b�s#�N�#D�۹ y��n�#~�
Ӑ<��a�#�###>#�ÖD##�
+ZK#&:�##�q�����~at#9�S#� Dq��j�p#m��'�i�#�c���_��L�fȶS��!�?e^>��^Pk�U�z=�Z###
�O�S~�:#�ȅ�D#u���X�F#|�#r/\}��=g#
+QO�у��}ʌ#��#rW�/¢}#�3�"�#�#u+�%�U)��: ۩֟��U�\���u�]���{��p߮��EU###ۜ
‫�װ‬.Xt�#�*f��@����#1�T�. IF\r�}=GN�4Z#�z���+nt|�#w����n���\�n#���yT��)e�^��#_�-�nX|
b)#�#����؇_}�6]�J>#�,��#W��Q]3�-����#C�,�I�+W#�V}�#���EJ)5c�*#��D<#��U�O��7���,Z�
‫���܉‬v-��r
ž#i�Ş‫׳‬v���&/Z�&/^�^#2�*ɍ7##Ҕ�3�����{�k#�P��ܹ����;�ce��\�����/8x;�k�d��2]�=���Y�*n
+�\�2 ̐ ֔g�j>�#*1_�q�fv#�u�d�~R+Q��1�H�#C�"#츻���y�S��A##W��V��
\ͧ �MH����� >�N�)�#ycO#
‫د‬ti#S���h�#��>B�#�eE���#ꃗ 6�A��r�#o�.�#�*|#��t"?#�����#{*�=�5��#�#c\#�%:B��1�#���
+Ӵ#�V��r��l\#�"�+�‫ܥ‬A�@�s�c##O#��"��lz��#�#[�"?#�s��(є!��W8n#]V#"��R��S�p�`Z�8�f.o0
�#��*#��a�Jo�6�'2T`�*3��#^w6o4�]��l.�&#�#���d:�V31�‫ז‬Ʃ����#a#��p\qfB#�R�5��##�‫��ו‬
Z�
+�# ��eH&1�HV#!#�‫ڎ‬t\L�ɪk#�#�\#�V4�#"�#Y�[?<��3NQ##�"
+v��#��##H��º#o0 J8�~٪W#�E�#�\!‫׀‬Y�l#��5UZ@��ը�##g�j#` ͬ%ͬ r#��
-
�##�##�Ľ�&�vM�1�p�#gh��`�þ�#�,�)V��#����?
�jdp@�ý/�#g�8r��:##����a��as�#7#x�B#���#�?�y���T��####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Save16.gif ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Save16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Save16.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Save16.gif 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+GIF89a####��#������fff###���#########!�######,##########@H��o�I�##��#A8##
,_H�&��\��Z���'�<x�#��7�#T�
� ᩘA*��'�B]2�5�V�##!�OCopyright 2000 by Sun
Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/SaveAs16.gif ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/SaveAs16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/SaveAs16.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/SaveAs16.gif 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+GIF89a####��####������00a==n�����������¿��nnnaaa#########!�######,##########YP�I�#
�#*#KPdL#|T� #�#HI}�#cś�f#�#�b1#�&��fS��N�At�#$K# ߨ)x~#�D��#�H#�x;#�#nS5�D[��e/�##!
�OCopyright 2000 by Sun Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Warning24.gif ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Warning24.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/icons/Warning24.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/icons/Warning24.gif 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,4 @@
+GIF89a####p##!�####�#,########�###��?��G��T��W��L��N��M��Z��P��Q��J��L��?
��D��K��V��Z��A��L�zC��L��I��K��Wǯ_��L�vG��H�qA��K��R��S̸��
\ N�tH��N��P R��E��N��T�i?
ħSƲWƱT��_�G�T�nCɴU͸VϺW��J�}CɵZ��P�sG˵SкWӽZ¬J��N��K��NįQDZW�mAͷT��]��_�
�O��P��JʵVʴU�vFϹVѻW��L��T��FԾ\�yI̷TιWҽZ̶
S͸TĪJ��K��Q��O��QθT�sB˵T��P��S�T��O�xD�~K�~JȮ
QϹWθVíSʵW�Q��OӽYɴSʵUȳX��G��?
��GƱWīT��J��S�Q̶

XîT��X��_��N��P̷VëT�xC��R��O��Z��Q��T��OʴW��I��aкT��L��L��F ˶W ҼZ�V� 
I��H�tAʮV̷
XïT��L��Q��RįT��Q�TιXîS��O��Oȶ[-
SθWѼZʵS��]йTθXȳW��J################################################################
###################################################################################
###################################################################################
##############�#_ #H�U�###*$�#�‡##F�##b##+.l�ѡF�##��H0@�
+#�#�#���e�#Q��%Ɇ#ʄ�Rf##�##V�#%�
+LH?r,C#��<3�j
I!��/H�B4)#H#�G��0b�c�(30���F�C�?�p��5j�##k 恒`�/+f�}���OLyb~�*�m�PN@�
+e#��Q1#d�3-�7���9!X�a�{#S���+&ϒ=��,ֈ�Foz^I�#�D�?ӊӊ��vN� ‫��<��=��ב‬b��#a�Ơ#�#-
����###;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$10.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$10.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$10.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$10.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$10######java/lang/Object######java/awt/event/ActionListe
ner######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$10;###actionPer
formed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$9##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$11.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$11.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$11.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$11.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$11######java/lang/Object######java/awt/event/ActionListe
ner######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$11;###actionPer
formed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame##### access$10##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$12.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$12.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$12.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$12.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$12######java/lang/Object######java/awt/event/ActionListe
ner######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$12;###actionPer
formed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame##### access$11##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$1.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$1.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$1.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$1.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/MainFrame$1######java/awt/event/WindowAdapter######this$0###Lgui/MainFrame;#
# Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
####
+###
#### #######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$1;##
windowClosing###(Ljava/awt/event/WindowEvent;)V##gui/MainFrame######access$0##.
(Lgui/MainFrame;Ljava/awt/event/WindowEvent;)V
####
+#######evt###Ljava/awt/event/WindowEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####:#########
#####
+###############
+###A####### *�##+�##�#########
+#####<###=########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$2.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$2.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$2.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$2.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$2######java/lang/Object######java/awt/event/ActionListen
er######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$2;###actionPerf
ormed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$1##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####I#########
#####
+###############
###A####### *�##+�##�#########
+#####K###L########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$3.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$3.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$3.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$3.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$3######java/lang/Object######java/awt/event/ActionListen
er######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$3;###actionPerf
ormed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$2##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####X#########
#####
+###############
###A####### *�##+�##�#########
+#####Z###[########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$4.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$4.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$4.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$4.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$4######java/lang/Object######java/awt/event/ActionListen
er######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$4;###actionPerf
ormed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$3##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####g#########
#####
+###############
###A####### *�##+�##�#########
+#####i###j########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$5.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$5.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$5.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$5.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$5######java/lang/Object######java/awt/event/ActionListen
er######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$5;###actionPerf
ormed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$4##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####w#########
#####
+###############
###A####### *�##+�##�#########
+#####y###z########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$6.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$6.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$6.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$6.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$6######java/lang/Object######java/awt/event/ActionListen
er######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$6;###actionPerf
ormed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$5##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$7.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$7.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$7.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$7.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$7######java/lang/Object######java/awt/event/ActionListen
er######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$7;###actionPerf
ormed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$6##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$8.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$8.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$8.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$8.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$8######java/lang/Object######java/awt/event/ActionListen
er######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$8;###actionPerf
ormed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$7##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$9.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$9.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame$9.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame$9.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/MainFrame$9######java/lang/Object######java/awt/event/ActionListen
er######this$0###Lgui/MainFrame;##
Synthetic###<init>###(Lgui/MainFrame;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/MainFrame$9;###actionPerf
ormed###(Ljava/awt/event/ActionEvent;)V##gui/MainFrame######access$8##.
(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###MainFrame.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####�#########
#####
+###############
###A####### *�##+�##�#########
+#####�###�########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame.class ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame.class 2006-05-26 11:25:52.000000000
-0300
@@ -0,0 +1,167 @@
+���###.#;##
gui/MainFrame######javax/swing/JFrame######accessPointConfButton###Ljavax/swing/JBu
tton;###basicConfButton##
closeMenuItem###Ljavax/swing/JMenuItem;###clusterHeadConfButton###commonNodeConfBut
ton###exportMenuItem###fileMenu###Ljavax/swing/JMenu;##

jMenuBar1###Ljavax/swing/JMenuBar;###jSeparator1###Ljavax/swing/JSeparator;###jSepa
rator2## mainPanel###Ljavax/swing/JPanel;###newMenuItem##
openMenuItem##
quitMenuItem###saveAsMenuItem##
saveMenuItem###selectPanel##

mainFrame###Lgui/MainFrame;###xmlSaved###Z###bcp###Lgui/BasicConfPanel;###apcp###Lg
ui/AccessPointConfPanel;###chcp###Lgui/ClusterHeadConfPanel;###cncp###Lgui/CommonNo
deConfPanel;###tcl###Lgui/TclFields;##
+fileDialog###Lgui/FileJDialog;###<clinit>###()V###Code
#### ###/##gui/TclFields##1###<init>
#3#-
+#2#4
#(#) ###6###gui/FileJDialog##8
#### ###:###(Ljava/awt/Frame;Z)V
#3#<
+#9#=
#*#+ ###?###LineNumberTable###LocalVariableTable
+###4###initComponents
#D#-
+###E###this###javax/swing/JPanel##H
+#I#4
#### ###K###javax/swing/JButton##M
+#N#4
#### ###P
#### ###R
#
+## ###T
#### ###V
#### ###X###javax/swing/JMenuBar##Z
+#[#4
#### ###]###javax/swing/JMenu##_
+#`#4
### ###b###javax/swing/JMenuItem##d
+#e#4
### ###g
### ###i
### ###k###javax/swing/JSeparator##m
+#n#4
#### ###p
### ###r
### ###t
#
# ###v
#### ###x
### ###z###setDefaultCloseOperation###(I)V
#|#}
+###~###MannaSim Scripts Generator##�###setTitle###(Ljava/lang/String;)V
#�#�
+###�###java/awt/Color##�###(III)V
#3#�
+#�#�##setBackground###(Ljava/awt/Color;)V
#�#�
+###�######setName
#�#�
+###�##
setResizable###(Z)V
#�#�
+###�###gui/MainFrame$1##�###(Lgui/MainFrame;)V
#3#�
+#�#�###addWindowListener##"(Ljava/awt/event/WindowListener;)V
#�#�
+###�###java/awt/GridLayout##�###(II)V
#3#�
+#�#�## setLayout###(Ljava/awt/LayoutManager;)V
#�#�
+#I#�###javax/swing/BorderFactory##�###createBevelBorder###(I)Ljavax/swing/border/B
order;
#�#�
+#�#�## setBorder###(Ljavax/swing/border/Border;)V
#�#�
+#I#�
+#N#�##java/awt/Font##�###Arial##�###(Ljava/lang/String;II)V
#3#�
+#�#�###setFont###(Ljava/awt/Font;)V
#�#�
+#N#�###javax/swing/ImageIcon##�###java/lang/Object##�###getClass###()Ljava/lang/Cl
ass;
#�#�
+#�#�###/icons/Configuration24.gif##�###java/lang/Class##�###getResource##"(Ljava/l
ang/String;)Ljava/net/URL;
#�#�
+#�#�###(Ljava/net/URL;)V
#3#�
+#�#�###setIcon###(Ljavax/swing/Icon;)V
#�#�
+#N#�###Basic Configuration##�###setText
#�#�
+#N#�#####�###createTitledBorder##5(Ljava/lang/String;)Ljavax/swing/border/TitledBo
rder;
#�#�
+#�#�
+#N#�##
+setEnabled
#�#�
+#N#�###gui/MainFrame$2##�
+#�#�###addActionListener##"(Ljava/awt/event/ActionListener;)V
#�#�
+#N#�###add##*(Ljava/awt/Component;)Ljava/awt/Component;
#�#�
+#I#�###/icons/accessPoint.png##�##
Access Point##�###/icons/accessPointSelected.png##�###setSelectedIcon
#�#�
+#N#�###gui/MainFrame$3##�
+#�#�###/icons/clusterHead.png##�##
Cluster Head##�###/icons/clusterHeadSelected.png######gui/MainFrame$4###
+###�###/icons/commonNode.png######Common Node######setDefaultCapable
# #�
+#N#
+###/icons/commonNodeSelected.png##
###gui/MainFrame$5###
+###�###getContentPane###()Ljava/awt/Container;
####
+#######West######java/awt/Container#####)(Ljava/awt/Component;Ljava/lang/Object;)V
#�##
+####
+#�#4
+#I#�###java/awt/Dimension###
+###�###setMinimumSize###(Ljava/awt/Dimension;)V
#!#"
+#I#####setPreferredSize
#%#"
+#I#&###Center##(###File##*
+#`#�
+#`#�###javax/swing/KeyStroke##.##
getKeyStroke###(II)Ljavax/swing/KeyStroke;
#0#1
+#/#2###setAccelerator###(Ljavax/swing/KeyStroke;)V
#4#5
+#e#6
+#e#�###/icons/New16.gif##9
+#e#�###New...##<
+#e#�###gui/MainFrame$6##?
+#@#�
+#e#�##0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
#�#C
+#`#D###/icons/Open16.gif##F###Open...##H###gui/MainFrame$7##J
+#K#�###/icons/Blank16.gif##M###Close##O
+#e#�###gui/MainFrame$8##R
+#S#�
+#`#�###/icons/Save16.gif##V###Save##X###gui/MainFrame$9##Z
+#[#�###/icons/SaveAs16.gif##]##
+Save as...##_###gui/MainFrame$10##a
+#b#�###/icons/Export16.gif##d###Export as TCL file...##f###gui/MainFrame$11##h
+#i#�###Quit##k###gui/MainFrame$12##m
+#n#�##((Ljavax/swing/JMenu;)Ljavax/swing/JMenu;
#�#p
+#[#q###setJMenuBar###(Ljavax/swing/JMenuBar;)V
#s#t
+###u###pack
#w#-
+###x###commonNodeConfButtonActionPerformed###(Ljava/awt/event/ActionEvent;)V###dis
playCommonNodeConf
#|#-
+###}###evt###Ljava/awt/event/ActionEvent;##$clusterHeadConfButtonActionPerformed##
#displayClusterHeadConf
#�#-
+###�##$accessPointConfButtonActionPerformed###displayAccessPointConf
#�#-
+###�###basicConfButtonActionPerformed###displayBasicConf
#�#-
+###�###quitMenuItemActionPerformed###quit
#�#-
+###�###gui/SaveChangesDialog##�
+#�#=##
+setVisible
#�#�
+#�#�###getReturnStatus###()I
#�#�
+#�#�###saveFile
#�#-
+###�###scd###Lgui/SaveChangesDialog;###exportFileHandler##
+exportFile
#�#-
+###�###saveAsFileHandler##
+saveAsFile
#�#-
+###�###saveFileHandler###closeFileHandler## closeFile
#�#-
+###�###openFileHandler###openFile
#�#-
+###�###newFileHandler###enableAllConfButtons
#�#-
+###�###newFile
#�#-
+###�###exitForm###(Ljava/awt/event/WindowEvent;)V###java/lang/System##�###exit
#�#}
+#�#�###Ljava/awt/event/WindowEvent;###displayFileDialog
#�#}
+#9#�###isActionPerformed###()Z
#�#�
+#9#�###disableAllConfButtons
#�#-
+###�## removeAll
#�#-
+#I#�###validate
#�#-
+#I#�
+###�###repaint
#�#-
+###�
+###�###dispose
#�#-
+###�###setXMLSaved###b###getBasicConfPanel###()Lgui/BasicConfPanel;###gui/BasicCon
fPanel##�
+#�#4
# #! ###�##
updateFields###(Lgui/TclFields;)V
#�#�
+#�#�###getAccessPointPanel###()Lgui/AccessPointConfPanel;###gui/AccessPointConfPan
el##�
+#�#4
#"## ###�
+#�#�###getClusterHeadConfPanel###()Lgui/ClusterHeadConfPanel;###gui/ClusterHeadCon
fPanel##�
+#�#4
#$#% ###�
+#�#�###getCommonNodeConfPanel###()Lgui/CommonNodeConfPanel;###gui/CommonNodeConfPa
nel##�
+#�#4
#&#' ###�
+#�#�
#�#�
+###�
#�#�
+###�
#�#�
+####
#�#�
+#######getTcl###()Lgui/TclFields;###main###([Ljava/lang/String;)V
+###4###setSize
#
+#�
+#######args###[Ljava/lang/String;###getClusterHeadConfButton###()Ljavax/swing/JBut
ton;###access$0##.(Lgui/MainFrame;Ljava/awt/event/WindowEvent;)V## Synthetic
#�#�
+#######access$1##.(Lgui/MainFrame;Ljava/awt/event/ActionEvent;)V
#�#{
+#######access$2
#�#{
+#######access$3
#�#{
+#######access$4
#z#{
+###!###access$5
#�#{
+###$###access$6
#�#{
+###'###access$7
#�#{
+###*###access$8
#�#{
+###-###access$9
#�#{
+###0## access$10
#�#{
+###3## access$11
#�#{
+###6##
+SourceFile###MainFrame.java##
InnerClasses#!############################# #####
+###############
# ############################################## ####### #######
####### ####### ########### #######
+#######
+# #!###
+#"#####
+#$#%###
+#&#'###
+#(#)###
+#*#+###0###,#-###.###I#########�#0�#2Y�#5�#7�#9Y�#;#�#>�#@�#####A#############
###
+#####B#########3#-###.###;####### *�#C*�#F�#####A###################B###
##### #G#######D#-
###.###�#######�*�#IY�#J�#L*�#NY�#O�#Q*�#NY�#O�#S*�#NY�#O�#U*�#NY�#O�#W*�#IY�#J�#Y*
�#[Y�#\�#^*�#`Y�#a�#c*�#eY�#f�#h*�#eY�#f�#j*�#eY�#f�#l*�#nY�#o�#q*�#eY�#f�#s*�#eY�#
f�#u*�#eY�#f�#w*�#nY�#o�#y*�#eY�#f�#{*#�#*#��#�*�#�Y##�##�##‫ٷ‬#��#�*#��#�*#�#�*�#�Y
*�#��#�*�#L�#�Y##�#��#�*�#L#�#��#�*�#Q�#�Y##�##�##�#��#�*�#Q�#�Y#�##
�#��#�*�#Q�#�Y*�#�#ȶ#η#Ѷ#�*�#Q# ‫׶‬#�*�#Q#ܸ#�#�*�#Q#�#�*�#Q�#�Y*�#�#�*�#L*�#Q�#�W*�#S�#
�Y##�##�##�#��#�*�#S�#�Y#�##
�#��#�*�#S�#�Y*�#�#�#η#Ѷ#�*�#S#�#�*�#S# ܸ#�#�*�#S#�#�*�#S�#�Y*�#�#�#η#Ѷ#�*�#S�#�Y*�#�
#�*�#L*�#S�#�W*�#U�#�Y##�##�##�#��#�*�#U�#�Y#�##
�#��#�*�#U�#�Y*�#�#�#η#Ѷ#�*�#U#��#�*�#U# ܸ#�#�*�#U#�#�*�#U�#�Y*�#�###�#η#Ѷ#�*�#U�##Y*
�##�#�*�#L*�#U�#�W*�#W�#�Y##�##�##�#��#�*�#W�#�Y#�##
�#��#�*�#W�#�Y*�#�###�#η#Ѷ#�*�#W###�#�*�#W# ܸ#�#�*�#W#�##*�#W#�#�*�#W�#�Y*�#�##
�#η#Ѷ#�*�#W�##Y*�##�#�*�#L*�#W�#�W*�##*�#L###�##*�#Y�#�Y�##�#�*�#Y�#�Y##�##�##�#��#
#*�#Y�##Y#�#��# �#$*�#Y�##Y#�#��# �#'*�##*�#Y##)�##*�#c##+�#,*�#c�#�Y#�##
�#��#-*�#h#N#�#3�#7*�#h�#�Y#�##
�#��#8*�#h�#�Y*�#�##:�#η#Ѷ#;*�#h##=�#>*�#h�#@Y*�#A�#B*�#c*�#h�#EW*�#j#O#�#3�#7*�#j�
#�Y#�##
�#��#8*�#j�#�Y*�#�##G�#η#Ѷ#;*�#j##I�#>*�#j�#KY*�#L�#B*�#c*�#j�#EW*�#l�#�Y#�##
�#��#8*�#l�#�Y*�#�##N�#η#Ѷ#;*�#l##P�#>*�#l#�#Q*�#l�#SY*�#T�#B*�#c*�#l�#EW*�#c*�#q�#
UW*�#s#S#�#3�#7*�#s�#�Y#�##
�#��#8*�#s�#�Y*�#�##W�#η#Ѷ#;*�#s##Y�#>*�#s#�#Q*�#s�#[Y*�#\�#B*�#c*�#s�#EW*�#u�#�Y#�
##
�#��#8*�#u�#�Y*�#�##^�#η#Ѷ#;*�#u##`�#>*�#u#�#Q*�#u�#bY*�#c�#B*�#c*�#u�#EW*�#w#E#�#3
�#7*�#w�#�Y#�##
�#��#8*�#w�#�Y*�#�##e�#η#Ѷ#;*�#w##g�#>*�#w#�#Q*�#w�#iY*�#j�#B*�#c*�#w�#EW*�#c*�#y�#
UW*�#{#s##�#3�#7*�#{�#�Y#�##
�#��#8*�#{�#�Y*�#�##N�#η#Ѷ#;*�#{##l�#>*�#{�#nY*�#o�#B*�#c*�#{�#EW*�#^*�#c�#rW**�#^�
#v*�#y�#####A###�#w#######$###%#!#&#,#'#7#(#B#)#M#*#X#+#c#,#n#-
#y#.#�#/#�#0#�#1#�#2#�#3#�#5#�#6#�#7#�#8#�#9#�#:#�#@###B#
#C###D#6#E#M#F#V#G#b#H#j#I#y#O#�#Q#�#R#�#S#�#T#�#U#�#V#�#W#�#X# #^###`#,#a#?
#b#V#c#_#d#k#e#s#f#�#g#�#m#�#o#�#p#�#q#�#r#�#s#�#t###u###v#&#w#5#}#A##O#�#]#�#t#�#
�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#

#�###�#$#�#1#�#D#�#\#�#f#�#u#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�#'#�#/#�#
>#�#J#�#]#�#u#�##�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�###�###�#!
#�#4#�#L#�#V#�#e#�#q#�#}#�#�#�#�#�#B###
#####�#G#######z#{###.###=########*�#~�#####A###
+#####�###�#B###########G##########�#####�#{###.###=########*�#��#####A###
+#####�###�#B###########G##########�#####�#{###.###=########*�#��#####A###
+#####�###�#B###########G##########�#####�#{###.###=########*�#��#####A###
+#####�###�#B###########G##########�#####�#{###.###�#######O�#0�#
+*�#��#D�#�Y�#;#�#�M,#�#�,�#��####,###########,###%####*�#�*�#��#
+*�#��##�#####A###.#####�###�##�#########<###@###D###G# #K#
+#N###B### #####O#G#######O##�#####5#�#�#####�#{###.###=########*�#��#####A###
+###########B###########G##########�#####�#{###.###=########*�#��#####A###
+###########B###########G##########�#####�#{###.###=########*�#��#####A###
+###########B###########G##########�#####�#{###.###�#######O�#0�#
+*�#��#D�#�Y�#;#�#�M,#�#�,�#��####,###########,###%####*�#�*�#��#
+*�#��##�#####A###.######### ##"#######%#<#'#@#(#D#)#G#,#K#-#N#3#B###
#####O#G#######O##�#####5#�#�#####�#{###.###�#######O�#0�#
+*�#��#D�#�Y�#;#�#�M,#�#�,�#��####,###########,###%####*�#�*�#��#
+*�#��##�#####A###.#####6###7##9###:###<#<#>#@#?#D#@#G#C#K#D#N#J#B###
#####O#G#######O##�#####5#�#�#####�#{###.###�#######S�#0�##*�#�*�#��#D�#�Y�#;#�#�M
,#�#�,�#��####,###########,###%####*�#�*�#��#
+*�#��##�#####A###2#
###M###N#
+#O###Q###R#"#S#@#U#D#V#H#W#K#Z#O#[#R#a#B###
#####S#G#######S##�#####5#�#�#####�#�###.###=#########�#��#####A###
+#####e###f#B###########G##########�#####�#-
###.###I########�#2Y�#5�#7*�#�#�#0�#####A#########i#
+#j###k###l#B###
#######G#######�#-
###.###S########�#@#�#²#@�#ƙ##*�#�*�#��#####A#########o###p###q###r###t#B###
#######G#######�#-
###.###e########*�#�*�#Y�#�*�#Y�#ϲ#;�#в#;�#�#�#0�#####A#########w###x###y###z###{##
#|#"#}#B###
#######G#######�#-###.###6########�#@#�#±#####A###
+#####�###�#B###
#######G#######�#-###.###6########�#@#�#±#####A###
+#####�###�#B###
#######G#######�#-###.###6########�#@#�#±#####A###
+#####�###�#B###
#######G#######�#-###.###H########�#;#�#Բ#;�#�#�#��#####A#########�###�##�###�#B###
#######G##### #�#�###.###3#########�#0�#####A###
+#####�###�#B###
#######�#######�#-
###.###�#######A*�#Q#�#�*�#S#�#�*�#U#�#�*�#W#�#�*�#s#�#Q*�#u#�#Q*�#l#�#Q*�#w#�#Q�##
###A###&# ###�###�###�###�# #�#(#�#0#�#8#�#@#�#B###
#####A#G#######�#-
###.###�#######A*�#Q#�#�*�#S#�#�*�#U#�#�*�#W#�#�*�#s#�#Q*�#u#�#Q*�#l#�#Q*�#w#�#Q�##
###A###&# ###�###�###�###�# #�#(#�#0#�#8#�#@#�#B###
#####A#G##### #�#�###.###?########�#�Y�#7#�#�#޳�#�#�#####A#########�#
+#�###�#B####### #�#�###.###?########�#�Y�#�#�#�#7�#�#�#####A#########�#
+#�###�#B####### #�#�###.###?########�#�Y�#�#�#�#7�#�#�#####A#########�#
+#�###�#B####### #�#�###.###?########�#�Y�#�#�#�#7�#�#�#####A#########�#
+#�###�#B#########�#-###.###Z#######
*�#Y�#�*�#Y�#��#�W*�#Y�#ϲ#;�#б#####A#########�###�###�###�###�#B###
##### #G#######�#-###.###Z#######
*�#Y�#�*�#Y�##�#�W*�#Y�#ϲ#;�#б#####A#########�###�###�###�###�#B###
##### #G#######�#-###.###Z#######
*�#Y�#�*�#Y�##�#�W*�#Y�#ϲ#;�#б#####A#########�###�###�###�###�#B###
##### #G#######|#-###.###Z#######
*�#Y�#�*�#Y�##�#�W*�#Y�#ϲ#;�#б#####A#########�###�###�###�###�#B###
##### #G##### #######.###$########�#7�#####A#########�#B#######
#######.###T########�##Y�# �#;�#;##�##��#
�#;#�#Ա#####A#########�#
+#�###�###�#B###
####################.###/########*�#U�#####A##########B###
#######G###################.###&########*+�##�#####A#########d#B###################
##.###&########*+�##�#####A#########�#B#####################.###&########*+�##�####
#A#########�#B#####################.###&########*+�##�#####A#########�#B#########
###########.###&########*+�#"�#####A#########�#B#####################.###&########*
+�#
%�#####A#########L#B#########&###########.###&########*+�#(�#####A#########5#B#####
####)###########.###&########*+�#+�#####A###########B#########,###########.###&####
####*+�#.�#####A###########B#########/###########.###&########*+�#1�#####A#########
##B#########2###########.###&########*+�#4�#####A###########B#########5###########.
###&########*+�#7�#####A#########�#B#########8#####9#:###b#
#�#######�#######�#######################@#######K#######S#######[#######b#######i#
######n######
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame.form
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame.form
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame.form 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame.form 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,310 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+ <NonVisualComponents>
+ <Menu class="javax.swing.JMenuBar" name="jMenuBar1">
+ <SubComponents>
+ <Menu class="javax.swing.JMenu" name="fileMenu">
+ <Properties>
+ <Property name="text" type="java.lang.String" value="File"/>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ </Properties>
+ <SubComponents>
+ <MenuItem class="javax.swing.JMenuItem" name="newMenuItem">
+ <Properties>
+ <Property name="accelerator" type="javax.swing.KeyStroke"
editor="org.netbeans.modules.form.editors.KeyStrokeEditor">
+ <KeyStroke key="Ctrl+N"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/New16.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="New..."/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="newFileHandler"/>
+ </Events>
+ </MenuItem>
+ <MenuItem class="javax.swing.JMenuItem" name="openMenuItem">
+ <Properties>
+ <Property name="accelerator" type="javax.swing.KeyStroke"
editor="org.netbeans.modules.form.editors.KeyStrokeEditor">
+ <KeyStroke key="Ctrl+O"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/Open16.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Open..."/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="openFileHandler"/>
+ </Events>
+ </MenuItem>
+ <MenuItem class="javax.swing.JMenuItem" name="closeMenuItem">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/Blank16.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Close"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="closeFileHandler"/>
+ </Events>
+ </MenuItem>
+ <MenuItem class="javax.swing.JSeparator" name="jSeparator1">
+ </MenuItem>
+ <MenuItem class="javax.swing.JMenuItem" name="saveMenuItem">
+ <Properties>
+ <Property name="accelerator" type="javax.swing.KeyStroke"
editor="org.netbeans.modules.form.editors.KeyStrokeEditor">
+ <KeyStroke key="Ctrl+S"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/Save16.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Save"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="saveFileHandler"/>
+ </Events>
+ </MenuItem>
+ <MenuItem class="javax.swing.JMenuItem" name="saveAsMenuItem">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/SaveAs16.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Save as..."/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="saveAsFileHandler"/>
+ </Events>
+ </MenuItem>
+ <MenuItem class="javax.swing.JMenuItem" name="exportMenuItem">
+ <Properties>
+ <Property name="accelerator" type="javax.swing.KeyStroke"
editor="org.netbeans.modules.form.editors.KeyStrokeEditor">
+ <KeyStroke key="Ctrl+E"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/Export16.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Export as TCL
file..."/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="exportFileHandler"/>
+ </Events>
+ </MenuItem>
+ <MenuItem class="javax.swing.JSeparator" name="jSeparator2">
+ </MenuItem>
+ <MenuItem class="javax.swing.JMenuItem" name="quitMenuItem">
+ <Properties>
+ <Property name="accelerator" type="javax.swing.KeyStroke"
editor="org.netbeans.modules.form.editors.KeyStrokeEditor">
+ <KeyStroke key="Alt+F4"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/Blank16.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Quit"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="quitMenuItemActionPerformed"/>
+ </Events>
+ </MenuItem>
+ </SubComponents>
+ </Menu>
+ </SubComponents>
+ </Menu>
+ </NonVisualComponents>
+ <Properties>
+ <Property name="defaultCloseOperation" type="int" value="2"/>
+ <Property name="title" type="java.lang.String" value="MannaSim Scripts
Generator"/>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="d9" green="f2" red="f1" type="rgb"/>
+ </Property>
+ <Property name="name" type="java.lang.String" value="mainFrame"/>
+ <Property name="resizable" type="boolean" value="false"/>
+ </Properties>
+ <SyntheticProperties>
+ <SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/>
+ <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+ </SyntheticProperties>
+ <Events>
+ <EventHandler event="windowClosing" listener="java.awt.event.WindowListener"
parameters="java.awt.event.WindowEvent" handler="exitForm"/>
+ </Events>
+ <AuxValues>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer"
value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-
19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,1
10,65,-114,-39,-41,-
84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112
,0,0,2,43,0,0,2,88"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="selectPanel">
+ <Properties>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+ <BevelBorder/>
+ </Border>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstrain
tsDescription">
+ <BorderConstraints direction="West"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
+ <Property name="columns" type="int" value="1"/>
+ <Property name="rows" type="int" value="4"/>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JButton" name="basicConfButton">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="f5" green="f9" red="fa" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="1"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/Configuration24.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Basic
Configuration"/>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border
info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder/>
+ </Border>
+ </Property>
+ <Property name="enabled" type="boolean" value="false"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="basicConfButtonActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JButton" name="accessPointConfButton">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="f5" green="f9" red="fa" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="1"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/accessPoint.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Access Point"/>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border
info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder/>
+ </Border>
+ </Property>
+ <Property name="enabled" type="boolean" value="false"/>
+ <Property name="selectedIcon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/accessPointSelected.png"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="accessPointConfButtonActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JButton" name="clusterHeadConfButton">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="f5" green="f9" red="fa" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="1"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/clusterHead.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Cluster Head"/>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border
info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder/>
+ </Border>
+ </Property>
+ <Property name="enabled" type="boolean" value="false"/>
+ <Property name="selectedIcon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/clusterHeadSelected.png"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="clusterHeadConfButtonActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JButton" name="commonNodeConfButton">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="f5" green="f9" red="fa" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="1"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/commonNode.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Common Node"/>
+ <Property name="border" type="javax.swing.border.Border"
editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border
info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder/>
+ </Border>
+ </Property>
+ <Property name="defaultCapable" type="boolean" value="false"/>
+ <Property name="enabled" type="boolean" value="false"/>
+ <Property name="selectedIcon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/commonNodeSelected.png"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="commonNodeConfButtonActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="mainPanel">
+ <Properties>
+ <Property name="background" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="e4" green="e5" red="e6" type="rgb"/>
+ </Property>
+ <Property name="minimumSize" type="java.awt.Dimension"
editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[32767, 32767]"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension"
editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[32767, 32767]"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstrain
tsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
+ <Property name="columns" type="int" value="0"/>
+ <Property name="rows" type="int" value="1"/>
+ </Layout>
+ </Container>
+ </SubComponents>
+</Form>
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame.java
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame.java
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/MainFrame.java 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/MainFrame.java 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,527 @@
+/*
+ * MainFrame.java
+ *
+ * Created on 16 de Novembro de 2005, 16:29
+ */
+
+/**
+ *
+ * @author helen
+ */
+
+package gui;
+
+import java.awt.Dimension;
+import javax.swing.*;
+
+import xml2tcl.Translator;
+
+public class MainFrame extends javax.swing.JFrame {
+
+ /**
+ * Creates new form MainFrame
+ */
+ public MainFrame() {
+ initComponents();
+ }
+
+ /** This method is called from within the constructor to
+ * initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is
+ * always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
+ private void initComponents() {
+ selectPanel = new javax.swing.JPanel();
+ basicConfButton = new javax.swing.JButton();
+ accessPointConfButton = new javax.swing.JButton();
+ clusterHeadConfButton = new javax.swing.JButton();
+ commonNodeConfButton = new javax.swing.JButton();
+ mainPanel = new javax.swing.JPanel();
+ jMenuBar1 = new javax.swing.JMenuBar();
+ fileMenu = new javax.swing.JMenu();
+ newMenuItem = new javax.swing.JMenuItem();
+ openMenuItem = new javax.swing.JMenuItem();
+ closeMenuItem = new javax.swing.JMenuItem();
+ jSeparator1 = new javax.swing.JSeparator();
+ saveMenuItem = new javax.swing.JMenuItem();
+ saveAsMenuItem = new javax.swing.JMenuItem();
+ exportMenuItem = new javax.swing.JMenuItem();
+ jSeparator2 = new javax.swing.JSeparator();
+ quitMenuItem = new javax.swing.JMenuItem();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
+ setTitle("MannaSim Scripts Generator");
+ setBackground(new java.awt.Color(241, 242, 217));
+ setName("mainFrame");
+ setResizable(false);
+ addWindowListener(new java.awt.event.WindowAdapter() {
+ public void windowClosing(java.awt.event.WindowEvent evt) {
+ exitForm(evt);
+ }
+ });
+
+ selectPanel.setLayout(new java.awt.GridLayout(4, 1));
+
+
selectPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.borde
r.BevelBorder.RAISED));
+ basicConfButton.setBackground(new java.awt.Color(250, 249, 245));
+ basicConfButton.setFont(new java.awt.Font("Arial", 1, 12));
+ basicConfButton.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/Configuration24.gif")));
+ basicConfButton.setText("Basic Configuration");
+
basicConfButton.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
+ basicConfButton.setEnabled(false);
+ basicConfButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ basicConfButtonActionPerformed(evt);
+ }
+ });
+
+ selectPanel.add(basicConfButton);
+
+ accessPointConfButton.setBackground(new java.awt.Color(250, 249, 245));
+ accessPointConfButton.setFont(new java.awt.Font("Arial", 1, 12));
+ accessPointConfButton.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/accessPoint.png")));
+ accessPointConfButton.setText("Access Point");
+
accessPointConfButton.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
+ accessPointConfButton.setEnabled(false);
+ accessPointConfButton.setSelectedIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/accessPointSelected.png")));
+ accessPointConfButton.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ accessPointConfButtonActionPerformed(evt);
+ }
+ });
+
+ selectPanel.add(accessPointConfButton);
+
+ clusterHeadConfButton.setBackground(new java.awt.Color(250, 249, 245));
+ clusterHeadConfButton.setFont(new java.awt.Font("Arial", 1, 12));
+ clusterHeadConfButton.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/clusterHead.png")));
+ clusterHeadConfButton.setText("Cluster Head");
+
clusterHeadConfButton.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
+ clusterHeadConfButton.setEnabled(false);
+ clusterHeadConfButton.setSelectedIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/clusterHeadSelected.png")));
+ clusterHeadConfButton.addActionListener(new
java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ clusterHeadConfButtonActionPerformed(evt);
+ }
+ });
+
+ selectPanel.add(clusterHeadConfButton);
+
+ commonNodeConfButton.setBackground(new java.awt.Color(250, 249, 245));
+ commonNodeConfButton.setFont(new java.awt.Font("Arial", 1, 12));
+ commonNodeConfButton.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/commonNode.png")));
+ commonNodeConfButton.setText("Common Node");
+
commonNodeConfButton.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
+ commonNodeConfButton.setDefaultCapable(false);
+ commonNodeConfButton.setEnabled(false);
+ commonNodeConfButton.setSelectedIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/commonNodeSelected.png")));
+ commonNodeConfButton.addActionListener(new java.awt.event.ActionListener()
{
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ commonNodeConfButtonActionPerformed(evt);
+ }
+ });
+
+ selectPanel.add(commonNodeConfButton);
+
+ getContentPane().add(selectPanel, java.awt.BorderLayout.WEST);
+
+ mainPanel.setLayout(new java.awt.GridLayout());
+
+ mainPanel.setBackground(new java.awt.Color(230, 229, 228));
+ mainPanel.setMinimumSize(new java.awt.Dimension(32767, 32767));
+ mainPanel.setPreferredSize(new java.awt.Dimension(32767, 32767));
+ getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER);
+
+ fileMenu.setText("File");
+ fileMenu.setFont(new java.awt.Font("Arial", 0, 12));
+
newMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEve
nt.VK_N, java.awt.event.InputEvent.CTRL_MASK));
+ newMenuItem.setFont(new java.awt.Font("Arial", 0, 12));
+ newMenuItem.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/New16.gif")));
+ newMenuItem.setText("New...");
+ newMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ newFileHandler(evt);
+ }
+ });
+
+ fileMenu.add(newMenuItem);
+
+
openMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEv
ent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
+ openMenuItem.setFont(new java.awt.Font("Arial", 0, 12));
+ openMenuItem.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/Open16.gif")));
+ openMenuItem.setText("Open...");
+ openMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ openFileHandler(evt);
+ }
+ });
+
+ fileMenu.add(openMenuItem);
+
+ closeMenuItem.setFont(new java.awt.Font("Arial", 0, 12));
+ closeMenuItem.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/Blank16.gif")));
+ closeMenuItem.setText("Close");
+ closeMenuItem.setEnabled(false);
+ closeMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ closeFileHandler(evt);
+ }
+ });
+
+ fileMenu.add(closeMenuItem);
+
+ fileMenu.add(jSeparator1);
+
+
saveMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEv
ent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
+ saveMenuItem.setFont(new java.awt.Font("Arial", 0, 12));
+ saveMenuItem.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/Save16.gif")));
+ saveMenuItem.setText("Save");
+ saveMenuItem.setEnabled(false);
+ saveMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ saveFileHandler(evt);
+ }
+ });
+
+ fileMenu.add(saveMenuItem);
+
+ saveAsMenuItem.setFont(new java.awt.Font("Arial", 0, 12));
+ saveAsMenuItem.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/SaveAs16.gif")));
+ saveAsMenuItem.setText("Save as...");
+ saveAsMenuItem.setEnabled(false);
+ saveAsMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ saveAsFileHandler(evt);
+ }
+ });
+
+ fileMenu.add(saveAsMenuItem);
+
+
exportMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.Key
Event.VK_E, java.awt.event.InputEvent.CTRL_MASK));
+ exportMenuItem.setFont(new java.awt.Font("Arial", 0, 12));
+ exportMenuItem.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/Export16.gif")));
+ exportMenuItem.setText("Export as TCL file...");
+ exportMenuItem.setEnabled(false);
+ exportMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ exportFileHandler(evt);
+ }
+ });
+
+ fileMenu.add(exportMenuItem);
+
+ fileMenu.add(jSeparator2);
+
+
quitMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEv
ent.VK_F4, java.awt.event.InputEvent.ALT_MASK));
+ quitMenuItem.setFont(new java.awt.Font("Arial", 0, 12));
+ quitMenuItem.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/Blank16.gif")));
+ quitMenuItem.setText("Quit");
+ quitMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ quitMenuItemActionPerformed(evt);
+ }
+ });
+
+ fileMenu.add(quitMenuItem);
+
+ jMenuBar1.add(fileMenu);
+
+ setJMenuBar(jMenuBar1);
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void commonNodeConfButtonActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_commonNodeConfButtonActionPerformed
+ displayCommonNodeConf();
+ }//GEN-LAST:event_commonNodeConfButtonActionPerformed
+
+ private void clusterHeadConfButtonActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_clusterHeadConfButtonActionPerformed
+ displayClusterHeadConf();
+ }//GEN-LAST:event_clusterHeadConfButtonActionPerformed
+
+ private void accessPointConfButtonActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_accessPointConfButtonActionPerformed
+ displayAccessPointConf();
+ }//GEN-LAST:event_accessPointConfButtonActionPerformed
+
+ private void basicConfButtonActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_basicConfButtonActionPerformed
+ displayBasicConf();
+ }//GEN-LAST:event_basicConfButtonActionPerformed
+
+ private void quitMenuItemActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_quitMenuItemActionPerformed
+ if (xmlSaved){
+ quit();
+ } else{
+ SaveChangesDialog scd = new SaveChangesDialog(mainFrame,true);
+ scd.setVisible(true);
+
+ switch (scd.getReturnStatus()){
+ case SaveChangesDialog.RET_YES:
+ saveFile();
+ quit();
+ break;
+
+ case SaveChangesDialog.RET_NO:
+ quit();
+ break;
+
+ case SaveChangesDialog.RET_CANCEL:
+ break;
+ }
+ }
+ }//GEN-LAST:event_quitMenuItemActionPerformed
+
+ private void exportFileHandler(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_exportFileHandler
+ exportFile();
+ }//GEN-LAST:event_exportFileHandler
+
+ private void saveAsFileHandler(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_saveAsFileHandler
+ saveAsFile();
+ }//GEN-LAST:event_saveAsFileHandler
+
+ private void saveFileHandler(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_saveFileHandler
+ saveFile();
+ }//GEN-LAST:event_saveFileHandler
+
+ private void closeFileHandler(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_closeFileHandler
+ if (xmlSaved){
+ closeFile();
+ } else{
+ SaveChangesDialog scd = new SaveChangesDialog(mainFrame,true);
+ scd.setVisible(true);
+
+ switch (scd.getReturnStatus()){
+ case SaveChangesDialog.RET_YES:
+ saveFile();
+ closeFile();
+ break;
+
+ case SaveChangesDialog.RET_NO:
+ closeFile();
+ break;
+
+ case SaveChangesDialog.RET_CANCEL:
+ break;
+ }
+ }
+ }//GEN-LAST:event_closeFileHandler
+
+ private void openFileHandler(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_openFileHandler
+ if (xmlSaved){
+ openFile();
+ } else{
+ SaveChangesDialog scd = new SaveChangesDialog(mainFrame,true);
+ scd.setVisible(true);
+
+ switch (scd.getReturnStatus()){
+ case SaveChangesDialog.RET_YES:
+ saveFile();
+ openFile();
+ break;
+
+ case SaveChangesDialog.RET_NO:
+ openFile();
+ break;
+
+ case SaveChangesDialog.RET_CANCEL:
+ break;
+ }
+ }
+ }//GEN-LAST:event_openFileHandler
+
+ private void newFileHandler(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_newFileHandler
+ if (xmlSaved){
+ enableAllConfButtons();
+ newFile();
+ } else{
+ SaveChangesDialog scd = new SaveChangesDialog(mainFrame,true);
+ scd.setVisible(true);
+ switch (scd.getReturnStatus()){
+ case SaveChangesDialog.RET_YES:
+ saveFile();
+ newFile();
+ break;
+
+ case SaveChangesDialog.RET_NO:
+ newFile();
+ break;
+
+ case SaveChangesDialog.RET_CANCEL:
+ break;
+ }
+ }
+ }//GEN-LAST:event_newFileHandler
+
+ /** Exit the Application */
+ private void exitForm(java.awt.event.WindowEvent evt) {//GEN-
FIRST:event_exitForm
+ System.exit(0);
+ }//GEN-LAST:event_exitForm
+
+ private void newFile(){
+ tcl = new TclFields();
+ displayBasicConf();
+ xmlSaved = false;
+ }
+
+ private void openFile(){
+ fileDialog.displayFileDialog(FileJDialog.OPEN);
+ if(fileDialog.isActionPerformed()){
+ displayBasicConf();
+ enableAllConfButtons();
+ }
+ }
+
+ private void closeFile(){
+ disableAllConfButtons();
+ mainPanel.removeAll();
+ mainPanel.validate();
+ mainFrame.validate();
+ mainFrame.repaint();
+ xmlSaved = true;
+ }
+
+ private void saveFile(){
+ fileDialog.displayFileDialog(FileJDialog.SAVE);
+ }
+
+ private void saveAsFile(){
+ fileDialog.displayFileDialog(FileJDialog.SAVE_AS);
+ }
+
+
+ private void exportFile() {
+ fileDialog.displayFileDialog(FileJDialog.EXPORT);
+ }
+
+ private void quit(){
+ mainFrame.setVisible(false);
+ mainFrame.dispose();
+ System.exit(0);
+ }
+
+ public static void setXMLSaved(boolean b){
+ xmlSaved = b;
+ }
+
+ private void enableAllConfButtons(){
+ basicConfButton.setEnabled(true);
+ accessPointConfButton.setEnabled(true);
+ clusterHeadConfButton.setEnabled(true);
+ commonNodeConfButton.setEnabled(true);
+ saveMenuItem.setEnabled(true);
+ saveAsMenuItem.setEnabled(true);
+ closeMenuItem.setEnabled(true);
+ exportMenuItem.setEnabled(true);
+ }
+
+ private void disableAllConfButtons(){
+ basicConfButton.setEnabled(false);
+ accessPointConfButton.setEnabled(false);
+ clusterHeadConfButton.setEnabled(false);
+ commonNodeConfButton.setEnabled(false);
+ saveMenuItem.setEnabled(false);
+ saveAsMenuItem.setEnabled(false);
+ closeMenuItem.setEnabled(false);
+ exportMenuItem.setEnabled(false);
+ }
+
+ public static BasicConfPanel getBasicConfPanel() {
+ bcp = new BasicConfPanel();
+ bcp.updateFields(tcl);
+ return bcp;
+ }
+
+ public static AccessPointConfPanel getAccessPointPanel() {
+ apcp = new AccessPointConfPanel();
+ apcp.updateFields(tcl);
+ return apcp;
+ }
+
+ public static ClusterHeadConfPanel getClusterHeadConfPanel() {
+ chcp = new ClusterHeadConfPanel();
+ chcp.updateFields(tcl);
+ return chcp;
+ }
+
+ public static CommonNodeConfPanel getCommonNodeConfPanel() {
+ cncp = new CommonNodeConfPanel();
+ cncp.updateFields(tcl);
+ return cncp;
+ }
+
+ public void displayBasicConf(){
+ mainPanel.removeAll();
+ mainPanel.add(getBasicConfPanel());
+ mainPanel.validate();
+ mainFrame.validate();
+
+ }
+
+ public void displayAccessPointConf(){
+ mainPanel.removeAll();
+ mainPanel.add(getAccessPointPanel());
+ mainPanel.validate();
+ mainFrame.validate();
+ }
+
+ public void displayClusterHeadConf(){
+ mainPanel.removeAll();
+ mainPanel.add(getClusterHeadConfPanel());
+ mainPanel.validate();
+ mainFrame.validate();
+ }
+
+ public void displayCommonNodeConf(){
+ mainPanel.removeAll();
+ mainPanel.add(getCommonNodeConfPanel());
+ mainPanel.validate();
+ mainFrame.validate();
+ }
+ public static TclFields getTcl() {
+ return tcl;
+ }
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ mainFrame = new MainFrame();
+ //mainFrame.show();
+ mainFrame.setSize(700,700);
+ mainFrame.setVisible(true);
+ }
+
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton accessPointConfButton;
+ private javax.swing.JButton basicConfButton;
+ private javax.swing.JMenuItem closeMenuItem;
+ private javax.swing.JButton clusterHeadConfButton;
+ private javax.swing.JButton commonNodeConfButton;
+ private javax.swing.JMenuItem exportMenuItem;
+ private javax.swing.JMenu fileMenu;
+ private javax.swing.JMenuBar jMenuBar1;
+ private javax.swing.JSeparator jSeparator1;
+ private javax.swing.JSeparator jSeparator2;
+ private javax.swing.JPanel mainPanel;
+ private javax.swing.JMenuItem newMenuItem;
+ private javax.swing.JMenuItem openMenuItem;
+ private javax.swing.JMenuItem quitMenuItem;
+ private javax.swing.JMenuItem saveAsMenuItem;
+ private javax.swing.JMenuItem saveMenuItem;
+ private javax.swing.JPanel selectPanel;
+ // End of variables declaration//GEN-END:variables
+
+ public static MainFrame mainFrame;
+ private static boolean xmlSaved = true;
+ private static BasicConfPanel bcp;
+ private static AccessPointConfPanel apcp;
+ private static ClusterHeadConfPanel chcp;
+ private static CommonNodeConfPanel cncp;
+ private static TclFields tcl = new TclFields();
+ private static FileJDialog fileDialog = new FileJDialog(mainFrame,true);
+
+ public javax.swing.JButton getClusterHeadConfButton() {
+ return clusterHeadConfButton;
+ }
+}
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$1.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$1.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$1.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$1.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#!
###gui/SaveChangesDialog$1######java/awt/event/WindowAdapter######this$0###Lgui/Sav
eChangesDialog;## Synthetic###<init>###(Lgui/SaveChangesDialog;)V###Code###()V
####
+###
####

#######LineNumberTable###LocalVariableTable###this###Lgui/SaveChangesDialog$1;##
windowClosing###(Ljava/awt/event/WindowEvent;)V###gui/SaveChangesDialog######access
$0##6(Lgui/SaveChangesDialog;Ljava/awt/event/WindowEvent;)V
####
+#######evt###Ljava/awt/event/WindowEvent;##
+SourceFile###SaveChangesDialog.java##
InnerClasses#0############################# ###
+###8#######
+*�#*+�##�#########
+#####2#########
#####
+###############
+###A####### *�##+�##�#########
+#####4###5########### ######### ################# ###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$2.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$2.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$2.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$2.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/SaveChangesDialog$2######java/lang/Object######java/awt/event/Acti
onListener######this$0###Lgui/SaveChangesDialog;##
Synthetic###<init>###(Lgui/SaveChangesDialog;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/SaveChangesDialog$2;###ac
tionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/SaveChangesDialog######access
$1##6(Lgui/SaveChangesDialog;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###SaveChangesDialog.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####9#########
#####
+###############
###A####### *�##+�##�#########
+#####;###<########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$3.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$3.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$3.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$3.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/SaveChangesDialog$3######java/lang/Object######java/awt/event/Acti
onListener######this$0###Lgui/SaveChangesDialog;##
Synthetic###<init>###(Lgui/SaveChangesDialog;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/SaveChangesDialog$3;###ac
tionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/SaveChangesDialog######access
$2##6(Lgui/SaveChangesDialog;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###SaveChangesDialog.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####C#########
#####
+###############
###A####### *�##+�##�#########
+#####E###F########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$4.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$4.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$4.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog$4.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,11 @@
+���###.#####gui/SaveChangesDialog$4######java/lang/Object######java/awt/event/Acti
onListener######this$0###Lgui/SaveChangesDialog;##
Synthetic###<init>###(Lgui/SaveChangesDialog;)V###Code###()V
#
+#
+####
####

#######LineNumberTable###LocalVariableTable###this###Lgui/SaveChangesDialog$4;###ac
tionPerformed###(Ljava/awt/event/ActionEvent;)V###gui/SaveChangesDialog######access
$3##6(Lgui/SaveChangesDialog;Ljava/awt/event/ActionEvent;)V
####
+#######evt###Ljava/awt/event/ActionEvent;##
+SourceFile###SaveChangesDialog.java##
InnerClasses#0################### #########
+#####
###8#######
+*�##*+�##�#########
+#####M#########
#####
+###############
###A####### *�##+�##�#########
+#####O###P########### ######### ######### #####!#"###
+##########
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.class
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.class 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,45 @@
+���###.#�###gui/SaveChangesDialog######javax/swing/JDialog#####
+RET_CANCEL###I##ConstantValue########RET_NO########RET_YES#######
cancelButton###Ljavax/swing/JButton;###noButton###saveChangesLabel###Ljavax/swing/J
Label;## yesButton##
returnStatus###<init>###(Ljava/awt/Frame;Z)V###Code
####
+####
#### #######initComponents###()V
####
+#######setSize###(II)V
###
+###!
###LineNumberTable###LocalVariableTable###this###Lgui/SaveChangesDialog;###parent##
#Ljava/awt/Frame;###modal###Z###getReturnStatus###()I###javax/swing/JButton##-
####
+#.#/
#### ###1
#### ###3
### ###5###javax/swing/JLabel##7
+#8#/
#### ###:###getContentPane###()Ljava/awt/Container;
#<#=
+###>###java/awt/Container##@## setLayout###(Ljava/awt/LayoutManager;)V
#B#C
+#A#D###MannaSim Simulator##F###setTitle###(Ljava/lang/String;)V
#H#I
+###J###setModal###(Z)V
#L#M
+###N###saveChanges##P###setName
#R#I
+###S###gui/SaveChangesDialog$1##U###(Lgui/SaveChangesDialog;)V
###W
+#V#X###addWindowListener##"(Ljava/awt/event/WindowListener;)V
#Z#[
+###\###Yes##^###setText
#`#I
+#.#a###gui/SaveChangesDialog$2##c
+#d#X###addActionListener##"(Ljava/awt/event/ActionListener;)V
#f#g
+#.#h###add##*(Ljava/awt/Component;)Ljava/awt/Component;
#j#k
+#A#l## setBounds###(IIII)V
#n#o
+#.#p###No##r###gui/SaveChangesDialog$3##t
+#u#X###Cancel##w###gui/SaveChangesDialog$4##y
+#z#X##java/awt/Font##|###Arial##~###(Ljava/lang/String;II)V
###�
+#}#�###setFont###(Ljava/awt/Font;)V
#�#�
+#8#�###javax/swing/ImageIcon##�###java/lang/Object##�###getClass###()Ljava/lang/Cl
ass;
#�#�
+#�#�###/icons/Warning24.gif##�###java/lang/Class##�###getResource##"(Ljava/lang/St
ring;)Ljava/net/URL;
#�#�
+#�#�###(Ljava/net/URL;)V
###�
+#�#�###setIcon###(Ljavax/swing/Icon;)V
#�#�
+#8#�###Save document changes?##�
+#8#a
+#8#p###pack
#�##
+###�###okButtonActionPerformed1###(Ljava/awt/event/ActionEvent;)V###doClose###(I)V
#�#�
+###�###evt###Ljava/awt/event/ActionEvent;###noButtonActionPerformed###cancelButton
ActionPerformed###closeDialog###(Ljava/awt/event/WindowEvent;)V###Ljava/awt/event/W
indowEvent;##
+setVisible
#�#M
+###�###dispose
#�##
+###�##

retStatus###access$0##6(Lgui/SaveChangesDialog;Ljava/awt/event/WindowEvent;)V##
Synthetic
#�#�
+###�###access$1##6(Lgui/SaveChangesDialog;Ljava/awt/event/ActionEvent;)V
#�#�
+###�###access$2
#�#�
+###�###access$3
#�#�
+###�##
+SourceFile###SaveChangesDialog.java##
InnerClasses#!########################### ###########
+###############
########################################
#############h########*+#�##*#�##*�##*##,##��#"�###################~#############$#
## #######%#&#######'#(#######)#*#####+#,#######/########*�##�#################$###
#######%#&###############�#######?*�#.Y�#0�#2*�#.Y�#0�#4*�#.Y�#0�#6*�#8Y�#9�#;*�#?
#�#E*#G�#K*#�#O*#Q�#T*�#VY*�#Y�#]*�#2#_�#b*�#2�#dY*�#e�#i*�#?
*�#2�#mW*�#2###<#P##�#q*�#4#s�#b*�#4�#uY*�#v�#i*�#?
*�#4�#mW*�#4#n#<#P##�#q*�#6#x�#b*�#6�#zY*�#{�#i*�#?
*�#6�#mW*�#6##�#<#P##�#q*�#;�#}Y###
�#��#�*�#;�#�Y*�#�#��#��#��#�*�#;#��#�*�#?
*�#;�#mW*�#;#<####�##�#�*�#��#########r#####(###)###*#!#+#,#-#4#/#:#0#?
#1#E#2#Q#8#Z#9#i#?
#u#@#�#B#�#C#�#I#�#J#�#L#�#M#�#S#�#T#�#V#�#W###X###Y#*#Z#:#\#>#]#$###
#####?#%#&#####�#�#######>########*#�#��#########
+#####a###b#$###########%#&#######�#�#####�#�#######>########*#�#��#########
+#####e###f#$###########%#&#######�#�#####�#�#######>########*#�#��#########
+#####i###j#$###########%#&#######�#�#####�#�#######>########*#�#��#########
+#####n###o#$###########
%#&#######�#�#####�#�#######O########*#�##*#�#�*�#��###############r###s#
+#t###u#$###########
%#&#######�#######�#�###�#########&########*+�#��###############m#$#########�#�###�
#########&########*+�#�###############_#$#########�#�###�#########&########*+�#ı###
############d#$#########�#�###�#########&########*+�#DZ###############h#$#########�
#####�#�###"###V#######d#######u#######z######
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.form ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.form
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.form 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.form 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.0" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
+ <Properties>
+ <Property name="title" type="java.lang.String" value="MannaSim Simulator"/>
+ <Property name="modal" type="boolean" value="true"/>
+ <Property name="name" type="java.lang.String" value="saveChanges"/>
+ </Properties>
+ <SyntheticProperties>
+ <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+ </SyntheticProperties>
+ <Events>
+ <EventHandler event="windowClosing" listener="java.awt.event.WindowListener"
parameters="java.awt.event.WindowEvent" handler="closeDialog"/>
+ </Events>
+ <AuxValues>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer"
value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-
19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,1
10,65,-114,-39,-41,-
84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112
,0,0,0,100,0,0,1,44"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
+ <Property name="useNullLayout" type="boolean" value="true"/>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JButton" name="yesButton">
+ <Properties>
+ <Property name="text" type="java.lang.String" value="Yes"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="okButtonActionPerformed1"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="20" y="60" width="80" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JButton" name="noButton">
+ <Properties>
+ <Property name="text" type="java.lang.String" value="No"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="noButtonActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="110" y="60" width="80" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JButton" name="cancelButton">
+ <Properties>
+ <Property name="text" type="java.lang.String" value="Cancel"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed"
listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent"
handler="cancelButtonActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="200" y="60" width="80" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="saveChangesLabel">
+ <Properties>
+ <Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Arial" size="12" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon"
editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/icons/Warning24.gif"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Save document
changes?"/>
+ </Properties>
+ <Constraints>
+ <Constraint
layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"
value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConst
raintsDescription">
+ <AbsoluteConstraints x="60" y="20" width="-1" height="-1"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+</Form>
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.java ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.java
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.java 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/SaveChangesDialog.java 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,127 @@
+/*
+ * SaveChangesDialog.java
+ *
+ * Created on 25 de Novembro de 2005, 08:54
+ */
+
+package gui;
+
+/**
+ *
+ * @author Helen Peters
+ */
+public class SaveChangesDialog extends javax.swing.JDialog {
+ /** A return status code - returned if Cancel button has been pressed */
+ public static final int RET_CANCEL = 0;
+ /** A return status code - returned if No button has been pressed */
+ public static final int RET_NO = 1;
+ /** A return status code - returned if Yes button has been pressed */
+ public static final int RET_YES = 2;
+
+ /** Creates new form SaveChangesDialog */
+ public SaveChangesDialog(java.awt.Frame parent, boolean modal) {
+ super(parent, modal);
+ initComponents();
+ setSize(300,150);
+ }
+
+ /** @return the return status of this dialog - one of RET_OK or RET_CANCEL */
+ public int getReturnStatus() {
+ return returnStatus;
+ }
+
+ /** This method is called from within the constructor to
+ * initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is
+ * always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
+ private void initComponents() {
+ yesButton = new javax.swing.JButton();
+ noButton = new javax.swing.JButton();
+ cancelButton = new javax.swing.JButton();
+ saveChangesLabel = new javax.swing.JLabel();
+
+ getContentPane().setLayout(null);
+
+ setTitle("MannaSim Simulator");
+ setModal(true);
+ setName("saveChanges");
+ addWindowListener(new java.awt.event.WindowAdapter() {
+ public void windowClosing(java.awt.event.WindowEvent evt) {
+ closeDialog(evt);
+ }
+ });
+
+ yesButton.setText("Yes");
+ yesButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ okButtonActionPerformed1(evt);
+ }
+ });
+
+ getContentPane().add(yesButton);
+ yesButton.setBounds(20, 60, 80, 23);
+
+ noButton.setText("No");
+ noButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ noButtonActionPerformed(evt);
+ }
+ });
+
+ getContentPane().add(noButton);
+ noButton.setBounds(110, 60, 80, 23);
+
+ cancelButton.setText("Cancel");
+ cancelButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ cancelButtonActionPerformed(evt);
+ }
+ });
+
+ getContentPane().add(cancelButton);
+ cancelButton.setBounds(200, 60, 80, 23);
+
+ saveChangesLabel.setFont(new java.awt.Font("Arial", 0, 12));
+ saveChangesLabel.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icons/Warning24.gif")));
+ saveChangesLabel.setText("Save document changes?");
+ getContentPane().add(saveChangesLabel);
+ saveChangesLabel.setBounds(60, 20, 171, 24);
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void okButtonActionPerformed1(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_okButtonActionPerformed1
+// TODO add your handling code here:
+ doClose(RET_YES);
+ }//GEN-LAST:event_okButtonActionPerformed1
+
+ private void noButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_noButtonActionPerformed
+ doClose(RET_NO);
+ }//GEN-LAST:event_noButtonActionPerformed
+
+ private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_cancelButtonActionPerformed
+ doClose(RET_CANCEL);
+ }//GEN-LAST:event_cancelButtonActionPerformed
+
+ /** Closes the dialog */
+ private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-
FIRST:event_closeDialog
+ doClose(RET_CANCEL);
+ }//GEN-LAST:event_closeDialog
+
+ private void doClose(int retStatus) {
+ returnStatus = retStatus;
+ setVisible(false);
+ dispose();
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton cancelButton;
+ private javax.swing.JButton noButton;
+ private javax.swing.JLabel saveChangesLabel;
+ private javax.swing.JButton yesButton;
+ // End of variables declaration//GEN-END:variables
+
+ private int returnStatus = RET_CANCEL;
+}
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/gui/TclFields.class ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/TclFields.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/TclFields.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/TclFields.class 2006-05-26 11:25:52.000000000
-0300
@@ -0,0 +1,112 @@
+���###.#�##
gui/TclFields######java/lang/Object######channelType###Ljava/lang/String;###transpo
rtProtocol###routingProtocol###macLayer##

linkLayer###phyLayer###antenna###propagation###ifq###ifqLen###I###battery###scenary
X###D###scenaryY## traceFile###Z##traceFileName##
+traceRoute###traceMac##
+traceAgent###simulationStart###simulationStop###accessPointNumber###accessPointLoc
ation###accessPointEnergy###accessPointApplication###accessPointTransmissionRange##
#clusterHeadNumber###clusterHeadLocation###clusterHeadEnergy###clusterHeadApplicati
on###clusterHeadProcessingType###clusterHeadTransmissionRange###clusterHeadDissType
###clusterHeadDissInterval###commonNodeNumber###commonNodeLocation###commonNodeEner
gy###commonNodeApplication###commonNodeProcessingType###commonNodeTransmissionRange
###commonNodeDissType###commonNodeDissInterval###commonNodeSensingType###commonNode
SensingInterval###commonNodeDataGeneratorType###commonNodeDataAverage###commonNodeD
ataDeviation###commonNodeMaximumData###<init>###()V###Code
#8#9
+###;###Channel/WirelessChannel##=###setChannelType###(Ljava/lang/String;)V
#?#@
+###A###UDP##C###setTransportProtocol
#E#@
+###F###AODV##H###setRoutingProtocol
#J#@
+###K##
+MAC/802_11##M###setMacLayer
#O#@
+###P###LL##R##
setLinkLayer
#T#@
+###U###Phy/WirelessPhy - Mica2##W###setPhyLayer
#Y#@
+###Z###Antenna/OmniAntenna##\##
+setAntenna
#^#@
+###_###Propagation/TwoRayGround##a###setPropagation
#c#@
+###d###Queue/DropTail##f###setIfq
#h#@
+###i## setIfqLen###(I)V
#k#l
+###m###EnergyModel/Battery##o##
+setBattery
#q#@
+###r#@Y########
setScenarioX###(D)V
#v#w
+###x##
setScenarioY
#z#w
+###{##
setTraceFile###(Z)V
#}#~
+######trace.tr##�###setTraceFileName
#�#@
+###�##setTraceRoute
#�#~
+###�###setTraceMac
#�#~
+###�##setTraceAgent
#�#~
+###�###setSimulationStart
#�#w
+###�###setSimulationStop
#�#w
+###�###setAccessPointNumber
#�#l
+###�###CENTER##�###setAccessPointLocation
#�#@
+###�###setAccessPointEnergy
#�#w
+###�###Application/AccessPointApp##�###setAccessPointApplication
#�#@
+###�###setAccessPointTransmissionRange
#�#w
+###�###setClusterHeadNumber
#�#l
+###�###RANDOM##�###setClusterHeadLocation
#�#@
+###�#@$#########setClusterHeadEnergy
#�#w
+###�##(Application/SensorBaseApp/ClusterHeadApp##�###setClusterHeadApplication
#�#@
+###�###Processing/AggregateProcessing##�###setClusterHeadProcessingType
#�#@
+###�#@Q�########setClusterHeadTransmissionRange
#�#w
+###�##
+Programmed##�###setClusterHeadDissType
#�#@
+###�#@I#########setClusterHeadDissInterval
#�#w
+###�###setCommonNodeNumber
#�#l
+###�###GRID##�###setCommonNodeLocation
#�#@
+###�###setCommonNodeEnergy
#�#w
+###�##'Application/SensorBaseApp/CommonNodeApp##�###setCommonNodeApplication
#�#@
+###�###setCommonNodeProcessingType
#�#@
+###�###setCommonNodeTransmissionRange
#�#w
+###�###setCommonNodeDissType
#�#@
+###�#@4#########setCommonNodeDissInterval
#�#w
+###�###setCommonNodeSensingType
#�#@
+###�#@##########setCommonNodeSensingInterval
#�#w
+###�###TemperatureDataGenerator##�###setCommonNodeDataGeneratorType
#�#@
+###�#@9#########setCommonNodeDataAverage
#�#w
+###�###setCommonNodeDataDeviation
#�#w
+###�#@>#########setCommonNodeMaximumData
###w
+#######LineNumberTable###LocalVariableTable###this###Lgui/TclFields;###getChannelT
ype###()Ljava/lang/String;
#### ###
###getTransportProtocol
#### #######getRoutingProtocol
#### #######getMacLayer
# ## ######
getLinkLayer
#
+## #######getPhyLayer
#### ######
+getAntenna
#
## #######getPropagation
### ###!###getIfq
#### ###$## getIfqLen###()I
#### ###(##
+getBattery
#### ###+##
getScenarioX###()D
#### ###/##
getScenarioY
#### ###2###isTraceFile###()Z
#### ###6###getTraceFileName
#### ###9##
isTraceRoute
#### ###<##
+isTraceMac
#### ###?##
isTraceAgent
#### ###B###getSimulationStart
#### ###E###getSimulationStop
#### ###H###getAccessPointNumber
#### ###K###getAccessPointLocation
#### ###N###getAccessPointEnergy
#### ###Q###getAccessPointApplication
# ## ###T###getAccessPointTransmissionRange
#!## ###W###getClusterHeadNumber
#"## ###Z###getClusterHeadLocation
#### ###]###getClusterHeadEnergy
#$## ###`###getClusterHeadApplication
#%## ###c###getClusterHeadProcessingType
#&## ###f###getClusterHeadTransmissionRange
#'## ###i###getClusterHeadDissType
#(## ###l###getClusterHeadDissInterval
#)## ###o###getCommonNodeNumber
#*## ###r###getCommonNodeLocation
#+## ###u###getCommonNodeEnergy
#,## ###x###getCommonNodeApplication
#-## ###{###getCommonNodeProcessingType
#.## ###~###getCommonNodeTransmissionRange
#/## ###�###getCommonNodeDissType
#0## ###�###getCommonNodeDissInterval
#1## ###�###getCommonNodeSensingType
#2## ###�###getCommonNodeSensingInterval
#3## ###�###getCommonNodeDataGeneratorType
#4## ###�###getCommonNodeDataAverage
#5## ###�###getCommonNodeDataDeviation
#6## ###�###getCommonNodeMaximumData
#7## ###�##
+SourceFile###TclFields.java#!#######/########################### #######
+###############
#######
###################################################################################
############################################ #######!
#######"###############$#######
%#######&#######'#######(#######)#######*#######+#######,#######-
#######.#######/#######0#######1#######2#######3#######4#######5#######6#######7###
##_###8#9###:###########'*�#<*#>�#B*#D�#G*#I�#L*#N�#Q*#S�#V*#X�#[*#]�#`*#b�#e*#g�#j
*#2�#n*#p�#s*##t�#y*##t�#|
*#�#�*#��#�*#�#�*#�#�*#�#�*#�#�*##t�#�*#�#�*#��#�*##t�#�*#��#�*##t�#�*#�#�*#��#�*##
��#�*#��#�*#��#�*##��#�*#Ŷ#�*##ɶ#�*#
+�#�*#Ҷ#�*##��#�*#‫ڶ‬#�*#��#�*##ɶ#�*#Ŷ#�*##�#�*#Ŷ#�*##�#�*#�#�*##�#�*##�##*###�##�###
######�#1#########
+###############"###(###.###4###:###@###F###M# #T#!#Y#"#_###d#$#i#
%#n#&#s#'#z#(##)#�#*#�#+#�#,#�#-
#�#.#�#/#�#0#�#1#�#2#�#3#�#4#�#5#�#6#�#7#�#8#�#9#�#:#�#;#�#<#�#=###>###?
###@###A###B#&#C#####
#####'### #####
+#####:###/########*�#�###############x#####
######### #####?#@###:###>########*+�#�#########
+#####|###}###############
#####################:###/########*�##�###############�#####
######### #####E#@###:###>########*+�##�#########
+#####�###�###############
#####################:###/########*�##�###############�#####
######### #####J#@###:###>########*+�##�#########
+#####�###�###############
#####################:###/########*�##�###############�#####
######### #####O#@###:###>########*+�##�#########
+#####�###�############### #######
#############:###/########*�##�###############�#####
######### #####T#@###:###>########*+�##�#########
+#####�###�############### #######
+#############:###/########*�##�###############�#####
######### #####Y#@###:###>########*+�##�#########
+#####�###�###############
#####################:###/########*�##�###############�#####
######### #####^#@###:###>########*+�##�#########
+#####�###�############### #######
####### #####:###/########*�#"�###############�#####
######### #####c#@###:###>########*+�#"�#########
+#####�###�############### ####################:###/########*�#
%�###############�#####
######### #####h#@###:###>########*+�#%�#########
+#####�###�###############
###############&#'###:###/########*�#)�###############�#####
######### #####k#l###:###>########*#�#)�#########
+#####�###�###############
###############*#####:###/########*�#,�###############�#####
######### #####q#@###:###>########*+�#,�#########
+#####�###�############### ###############-
#.###:###/########*�#0�###############�#####
######### #####v#w###:###>########*'�#0�#########
+#####�###�###############
###############1#.###:###/########*�#3�###############�#####
######### #####z#w###:###>########*'�#3�#########
+#####�###�###############
###############4#5###:###/########*�#7�###############�#####
######### #####}#~###:###>########*#�#7�#########
+#####�###�###############
###############8#####:###/########*�#:�###############�#####
######### #####�#@###:###>########*+�#:�#########
+#####�###�###############
###############;#5###:###/########*�#=�###############�#####
######### #####�#~###:###>########*#�#=�#########
+#####�###�###############
###############>#5###:###/########*�#@�###############�#####
######### #####�#~###:###>########*#�#@�#########
+#####�###�###############
###############A#5###:###/########*�#C�#####################
######### #####�#~###:###>########*#�#C�#########
+#########################
###############D#.###:###/########*�#F�#####################
######### #####�#w###:###>########*'�#F�#########
+#####
##################
###############G#.###:###/########*�#I�#####################
######### #####�#w###:###>########*'�#I�#########
+#########################
###############J#'###:###/########*�#L�#####################
######### #####�#l###:###>########*#�#L�#########
+#########################
###############M#####:###/########*�#O�############### #####
######### #####�#@###:###>########*+�#O�#########
+#####$###%###############
###############P#.###:###/########*�#R�###############(#####
######### #####�#w###:###>########*'�#R�#########
+#####,###-###############
###############S#####:###/########*�#U�###############0#####
######### #####�#@###:###>########*+�#U�#########
+#####4###5############### #######
#######V#.###:###/########*�#X�###############8#####
######### #####�#w###:###>########*'�#X�#########
+#####<###=############### #######!
#######Y#'###:###/########*�#[�###############@#####
######### #####�#l###:###>########*#�#[�#########
+#####D###E###############
#######"#######\#####:###/########*�#^�###############H#####
######### #####�#@###:###>########*+�#^�#########
+#####L###M###############
###############_#.###:###/########*�#a�###############P#####
######### #####�#w###:###>########*'�#a�#########
+#####T###U###############
#######$#######b#####:###/########*�#d�###############X#####
######### #####�#@###:###>########*+�#d�#########
+#####\###]############### #######
%#######e#####:###/########*�#g�###############`#####
######### #####�#@###:###>########*+�#g�#########
+#####d###e###############
#######&#######h#.###:###/########*�#j�###############h#####
######### #####�#w###:###>########*'�#j�#########
+#####l###m###############
#######'#######k#####:###/########*�#m�###############p#####
######### #####�#@###:###>########*+�#m�#########
+#####t###u###############
#######(#######n#.###:###/########*�#p�###############x#####
######### #####�#w###:###>########*'�#p�#########
+#####|###}###############
#######)#######q#'###:###/########*�#s�###############�#####
######### #####�#l###:###>########*#�#s�#########
+#####�###�###############
#######*#######t#####:###/########*�#v�###############�#####
######### #####�#@###:###>########*+�#v�#########
+#####�###�###############
#######+#######w#.###:###/########*�#y�###############�#####
######### #####�#w###:###>########*'�#y�#########
+#####�###�############### #######,#######z#####:###/########*�#|
�###############�#####
######### #####�#@###:###>########*+�#|�#########
+#####�###�############### #######-
#######}#####:###/########*�#�###############�#####
######### #####�#@###:###>########*+�#�#########
+#####�###�###############
#######.#######�#.###:###/########*�#��###############�#####
######### #####�#w###:###>########*'�#��#########
+#####�###�###############
#######/#######�#####:###/########*�#��###############�#####
######### #####�#@###:###>########*+�#��#########
+#####�###�###############
#######0#######�#.###:###/########*�#��###############�#####
######### #####�#w###:###>########*'�#��#########
+#####�###�###############
#######1#######�#####:###/########*�#��###############�#####
######### #####�#@###:###>########*+�#��#########
+#####�###�###############
#######2#######�#.###:###/########*�#��###############�#####
######### #####�#w###:###>########*'�#��#########
+#####�###�###############
#######3#######�#####:###/########*�#��###############�#####
######### #####�#@###:###>########*+�#��#########
+#####�###�###############
#######4#######�#.###:###/########*�#��###############�#####
######### #####�#w###:###>########*'�#��#########
+#####�###�###############
#######5#######�#.###:###/########*�#��###############�#####
######### #####�#w###:###>########*'�#��#########
+#####�###�###############
#######6#######�#.###:###/########*�#��###############�#####
######### #######w###:###>########*'�#��#########
+#####�###�############### #######7#######�#####�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/TclFields.java
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/gui/TclFields.java
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/gui/TclFields.java 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/gui/TclFields.java 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,496 @@
+/*
+ * TclFields.java
+ *
+ * Created on 25 de Novembro de 2005, 11:03
+ *
+ * To change this template, choose Tools | Template Manager
+ * and open the template in the editor.
+ */
+
+package gui;
+
+/**
+ *
+ * @author Helen Peters
+ */
+public class TclFields {
+
+ /** Creates a new instance of TclFields */
+ public TclFields() {
+ setChannelType("Channel/WirelessChannel");
+ setTransportProtocol("UDP");
+ setRoutingProtocol("AODV");
+ setMacLayer("MAC/802_11");
+ setLinkLayer("LL");
+ setPhyLayer("Phy/WirelessPhy - Mica2");
+ setAntenna("Antenna/OmniAntenna");
+ setPropagation("Propagation/TwoRayGround");
+ setIfq("Queue/DropTail");
+ setIfqLen(50);
+ setBattery("EnergyModel/Battery");
+ setScenarioX(100);
+ setScenarioY(100);
+ setTraceFile(true);
+ setTraceFileName("trace.tr");
+ setTraceRoute(true);
+ setTraceMac(true);
+ setTraceAgent(true);
+ setSimulationStart(0);
+ setSimulationStop(100);
+ setAccessPointNumber(1);
+ setAccessPointLocation("CENTER");
+ setAccessPointEnergy(100);
+ setAccessPointApplication("Application/AccessPointApp");
+ setAccessPointTransmissionRange(100);
+ setClusterHeadNumber(0);
+ setClusterHeadLocation("RANDOM");
+ setClusterHeadEnergy(10);
+ setClusterHeadApplication("Application/SensorBaseApp/ClusterHeadApp");
+ setClusterHeadProcessingType("Processing/AggregateProcessing");
+ setClusterHeadTransmissionRange(70);
+ setClusterHeadDissType("Programmed");
+ setClusterHeadDissInterval(50);
+ setCommonNodeNumber(10);
+ setCommonNodeLocation("GRID");
+ setCommonNodeEnergy(10);
+ setCommonNodeApplication("Application/SensorBaseApp/CommonNodeApp");
+ setCommonNodeProcessingType("Processing/AggregateProcessing");
+ setCommonNodeTransmissionRange(50);
+ setCommonNodeDissType("Programmed");
+ setCommonNodeDissInterval(20);
+ setCommonNodeSensingType("Programmed");
+ setCommonNodeSensingInterval(5);
+ setCommonNodeDataGeneratorType("TemperatureDataGenerator");
+ setCommonNodeDataAverage(25);
+ setCommonNodeDataDeviation(5);
+ setCommonNodeMaximumData(30);
+ }
+
+ private String channelType;
+ private String transportProtocol;
+ private String routingProtocol;
+ private String macLayer;
+ private String linkLayer;
+ private String phyLayer;
+ private String antenna;
+ private String propagation;
+ private String ifq;
+ private int ifqLen;
+ private String battery;
+ private double scenaryX;
+ private double scenaryY;
+ private boolean traceFile;
+ private String traceFileName;
+ private boolean traceRoute;
+ private boolean traceMac;
+ private boolean traceAgent;
+ private double simulationStart;
+ private double simulationStop;
+ private int accessPointNumber;
+ private String accessPointLocation;
+ private double accessPointEnergy;
+ private String accessPointApplication;
+ private double accessPointTransmissionRange;
+ private int clusterHeadNumber;
+ private String clusterHeadLocation;
+ private double clusterHeadEnergy;
+ private String clusterHeadApplication;
+ private String clusterHeadProcessingType;
+ private double clusterHeadTransmissionRange;
+ private String clusterHeadDissType;
+ private double clusterHeadDissInterval;
+ private int commonNodeNumber;
+ private String commonNodeLocation;
+ private double commonNodeEnergy;
+ private String commonNodeApplication;
+ private String commonNodeProcessingType;
+ private double commonNodeTransmissionRange;
+ private String commonNodeDissType;
+ private double commonNodeDissInterval;
+ private String commonNodeSensingType;
+ private double commonNodeSensingInterval;
+ private String commonNodeDataGeneratorType;
+ private double commonNodeDataAverage;
+ private double commonNodeDataDeviation;
+ private double commonNodeMaximumData;
+
+ // Get/Set Methods
+
+ public String getChannelType() {
+ return channelType;
+ }
+
+ public void setChannelType(String channelType) {
+ this.channelType = channelType;
+ }
+
+ public String getTransportProtocol() {
+ return transportProtocol;
+ }
+
+ public void setTransportProtocol(String transportProtocol) {
+ this.transportProtocol = transportProtocol;
+ }
+
+ public String getRoutingProtocol() {
+ return routingProtocol;
+ }
+
+ public void setRoutingProtocol(String routingProtocol) {
+ this.routingProtocol = routingProtocol;
+ }
+
+ public String getMacLayer() {
+ return macLayer;
+ }
+
+ public void setMacLayer(String macLayer) {
+ this.macLayer = macLayer;
+ }
+
+ public String getLinkLayer() {
+ return linkLayer;
+ }
+
+ public void setLinkLayer(String linkLayer) {
+ this.linkLayer = linkLayer;
+ }
+
+ public String getPhyLayer() {
+ return phyLayer;
+ }
+
+ public void setPhyLayer(String phyLayer) {
+ this.phyLayer = phyLayer;
+ }
+
+ public String getAntenna() {
+ return antenna;
+ }
+
+ public void setAntenna(String antenna) {
+ this.antenna = antenna;
+ }
+
+ public String getPropagation() {
+ return propagation;
+ }
+
+ public void setPropagation(String propagation) {
+ this.propagation = propagation;
+ }
+
+ public String getIfq() {
+ return ifq;
+ }
+
+ public void setIfq(String ifq) {
+ this.ifq = ifq;
+ }
+
+ public int getIfqLen() {
+ return ifqLen;
+ }
+
+ public void setIfqLen(int ifqLen) {
+ this.ifqLen = ifqLen;
+ }
+
+ public String getBattery() {
+ return battery;
+ }
+
+ public void setBattery(String battery) {
+ this.battery = battery;
+ }
+
+ public double getScenarioX() {
+ return scenaryX;
+ }
+
+ public void setScenarioX(double scenaryX) {
+ this.scenaryX = scenaryX;
+ }
+
+ public double getScenarioY() {
+ return scenaryY;
+ }
+
+ public void setScenarioY(double scenaryY) {
+ this.scenaryY = scenaryY;
+ }
+
+ public boolean isTraceFile() {
+ return traceFile;
+ }
+
+ public void setTraceFile(boolean traceFile) {
+ this.traceFile = traceFile;
+ }
+
+ public String getTraceFileName() {
+ return traceFileName;
+ }
+
+ public void setTraceFileName(String traceFileName) {
+ this.traceFileName = traceFileName;
+ }
+
+ public boolean isTraceRoute() {
+ return traceRoute;
+ }
+
+ public void setTraceRoute(boolean traceRoute) {
+ this.traceRoute = traceRoute;
+ }
+
+ public boolean isTraceMac() {
+ return traceMac;
+ }
+
+ public void setTraceMac(boolean traceMac) {
+ this.traceMac = traceMac;
+ }
+
+ public boolean isTraceAgent() {
+ return traceAgent;
+ }
+
+ public void setTraceAgent(boolean traceAgent) {
+ this.traceAgent = traceAgent;
+ }
+
+ public double getSimulationStart() {
+ return simulationStart;
+ }
+
+ public void setSimulationStart(double simulationStart) {
+ this.simulationStart = simulationStart;
+ }
+
+ public double getSimulationStop() {
+ return simulationStop;
+ }
+
+ public void setSimulationStop(double simulationStop) {
+ this.simulationStop = simulationStop;
+ }
+
+ public int getAccessPointNumber() {
+ return accessPointNumber;
+ }
+
+ public void setAccessPointNumber(int accessPointNumber) {
+ this.accessPointNumber = accessPointNumber;
+ }
+
+ public String getAccessPointLocation() {
+ return accessPointLocation;
+ }
+
+ public void setAccessPointLocation(String accessPointLocation) {
+ this.accessPointLocation = accessPointLocation;
+ }
+
+ public double getAccessPointEnergy() {
+ return accessPointEnergy;
+ }
+
+ public void setAccessPointEnergy(double accessPointEnergy) {
+ this.accessPointEnergy = accessPointEnergy;
+ }
+
+ public String getAccessPointApplication() {
+ return accessPointApplication;
+ }
+
+ public void setAccessPointApplication(String accessPointApplication) {
+ this.accessPointApplication = accessPointApplication;
+ }
+
+ public double getAccessPointTransmissionRange() {
+ return accessPointTransmissionRange;
+ }
+
+ public void setAccessPointTransmissionRange(double
accessPointTransmissionRange) {
+ this.accessPointTransmissionRange = accessPointTransmissionRange;
+ }
+
+ public int getClusterHeadNumber() {
+ return clusterHeadNumber;
+ }
+
+ public void setClusterHeadNumber(int clusterHeadNumber) {
+ this.clusterHeadNumber = clusterHeadNumber;
+ }
+
+ public String getClusterHeadLocation() {
+ return clusterHeadLocation;
+ }
+
+ public void setClusterHeadLocation(String clusterHeadLocation) {
+ this.clusterHeadLocation = clusterHeadLocation;
+ }
+
+ public double getClusterHeadEnergy() {
+ return clusterHeadEnergy;
+ }
+
+ public void setClusterHeadEnergy(double clusterHeadEnergy) {
+ this.clusterHeadEnergy = clusterHeadEnergy;
+ }
+
+ public String getClusterHeadApplication() {
+ return clusterHeadApplication;
+ }
+
+ public void setClusterHeadApplication(String clusterHeadApplication) {
+ this.clusterHeadApplication = clusterHeadApplication;
+ }
+
+ public String getClusterHeadProcessingType() {
+ return clusterHeadProcessingType;
+ }
+
+ public void setClusterHeadProcessingType(String clusterHeadProcessingType) {
+ this.clusterHeadProcessingType = clusterHeadProcessingType;
+ }
+
+ public double getClusterHeadTransmissionRange() {
+ return clusterHeadTransmissionRange;
+ }
+
+ public void setClusterHeadTransmissionRange(double
clusterHeadTransmissionRange) {
+ this.clusterHeadTransmissionRange = clusterHeadTransmissionRange;
+ }
+
+ public String getClusterHeadDissType() {
+ return clusterHeadDissType;
+ }
+
+ public void setClusterHeadDissType(String clusterHeadDissType) {
+ this.clusterHeadDissType = clusterHeadDissType;
+ }
+
+ public double getClusterHeadDissInterval() {
+ return clusterHeadDissInterval;
+ }
+
+ public void setClusterHeadDissInterval(double clusterHeadDissInterval) {
+ this.clusterHeadDissInterval = clusterHeadDissInterval;
+ }
+
+ public int getCommonNodeNumber() {
+ return commonNodeNumber;
+ }
+
+ public void setCommonNodeNumber(int commonNodeNumber) {
+ this.commonNodeNumber = commonNodeNumber;
+ }
+
+ public String getCommonNodeLocation() {
+ return commonNodeLocation;
+ }
+
+ public void setCommonNodeLocation(String commonNodeLocation) {
+ this.commonNodeLocation = commonNodeLocation;
+ }
+
+ public double getCommonNodeEnergy() {
+ return commonNodeEnergy;
+ }
+
+ public void setCommonNodeEnergy(double commonNodeEnergy) {
+ this.commonNodeEnergy = commonNodeEnergy;
+ }
+
+ public String getCommonNodeApplication() {
+ return commonNodeApplication;
+ }
+
+ public void setCommonNodeApplication(String commonNodeApplication) {
+ this.commonNodeApplication = commonNodeApplication;
+ }
+
+ public String getCommonNodeProcessingType() {
+ return commonNodeProcessingType;
+ }
+
+ public void setCommonNodeProcessingType(String commonNodeProcessingType) {
+ this.commonNodeProcessingType = commonNodeProcessingType;
+ }
+
+ public double getCommonNodeTransmissionRange() {
+ return commonNodeTransmissionRange;
+ }
+
+ public void setCommonNodeTransmissionRange(double commonNodeTransmissionRange)
{
+ this.commonNodeTransmissionRange = commonNodeTransmissionRange;
+ }
+
+ public String getCommonNodeDissType() {
+ return commonNodeDissType;
+ }
+
+ public void setCommonNodeDissType(String commonNodeDissType) {
+ this.commonNodeDissType = commonNodeDissType;
+ }
+
+ public double getCommonNodeDissInterval() {
+ return commonNodeDissInterval;
+ }
+
+ public void setCommonNodeDissInterval(double commonNodeDissInterval) {
+ this.commonNodeDissInterval = commonNodeDissInterval;
+ }
+
+ public String getCommonNodeSensingType() {
+ return commonNodeSensingType;
+ }
+
+ public void setCommonNodeSensingType(String commonNodeSensingType) {
+ this.commonNodeSensingType = commonNodeSensingType;
+ }
+
+ public double getCommonNodeSensingInterval() {
+ return commonNodeSensingInterval;
+ }
+
+ public void setCommonNodeSensingInterval(double commonNodeSensingInterval) {
+ this.commonNodeSensingInterval = commonNodeSensingInterval;
+ }
+
+ public String getCommonNodeDataGeneratorType() {
+ return commonNodeDataGeneratorType;
+ }
+
+ public void setCommonNodeDataGeneratorType(String commonNodeDataGeneratorType)
{
+ this.commonNodeDataGeneratorType = commonNodeDataGeneratorType;
+ }
+
+ public double getCommonNodeDataAverage() {
+ return commonNodeDataAverage;
+ }
+
+ public void setCommonNodeDataAverage(double commonNodeDataAverage) {
+ this.commonNodeDataAverage = commonNodeDataAverage;
+ }
+
+ public double getCommonNodeDataDeviation() {
+ return commonNodeDataDeviation;
+ }
+
+ public void setCommonNodeDataDeviation(double commonNodeDataDeviation) {
+ this.commonNodeDataDeviation = commonNodeDataDeviation;
+ }
+
+ public double getCommonNodeMaximumData() {
+ return commonNodeMaximumData;
+ }
+
+ public void setCommonNodeMaximumData(double commonNodeMaximumData) {
+ this.commonNodeMaximumData = commonNodeMaximumData;
+ }
+
+
+}
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/accessPoint.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/accessPoint.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/accessPoint.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/accessPoint.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+�PNG
+#
+###IHDR#############�w=�####gAMA##��#�a#### pHYs#########�&�?
####tEXtSoftware#Microsoft Office�5q###?IDATHKclnnn`�#���
‫�ﺺ‬V#�#���i����*ij����Q#����#�����s�q`` �K����r05 #=%���������#��5������Խx�#�#�#|
��#S�L�##����#.�ӂ��#�� #�������T�F�#�-���#�#�#�b##����#i ܼy3�#�#/�#r
�A
u����}#�.,���⠱���8@�\d���#�#lA��,�###7n##ɷo����#�Ab##>�# ���#Ld��������Ϟ=##Ӕ������
�����‫������ٵ‬F#4��‫�ݐ‬A25\�3��Z,�����#�Km���:##�o#�tw####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/accessPointSelected.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/accessPointSelected.png
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/accessPointSelected.png 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/accessPointSelected.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+�PNG
+#
+###IHDR#############�w=�####gAMA##��#�a####
pHYs##########a#�####tEXtSoftware#Microsoft Office�5q####IDATHKc���##��
��9#[#@##�^�O#��}���#��l�3j#޸#� �({�##V-���m��R(
��#�F k~�#�# QduT�#f ���_#��`#0H`�� #��#�Fd#�-�#QG�#���#���G�#�a�#�#�젗
ψ�#�����f#rl��Jd#�©#!#`#"le#�8�> 2T�#�E��F�#fNG�#݂W��#�{����|
#��#5�I�hԨ##�,#�#(#`q�L����@-���3�q1#�R###Μ##��@6#�Y_####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/AP24.gif ns-
allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/AP24.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/AP24.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/AP24.gif
2006-05-26 11:22:48.000000000 -0300
@@ -0,0 +1,6 @@
+GIF89a####�#�����������␆�������sj������������Ù�����������������������������������
���f^|����������������������Ĩ�¢����������������
‫���������������ب‬ð������������������������������������vn����������� ‫�߾�ݻ�ٷ‬ԭ
�ɩ�ģ������������ ‫�ַ�޾�ܻ�ع‬Ӵ�Э�Ȩ�¥�������������‫�ֹ�ۼ�غ‬ճ�Ϯ�ɩ�÷�ӫ��Ž���������
������vo���¾�‫�ݻ�ٳ‬в�Ϭ�ȡ��� ޲���֭�‫��ع‬ܻ�߾��º�Ž�º������ɜ����߳� �в�Ͽ�޿�����������
���lll
###################################################################################
###################################################################################
###################################################################################
###################################################################################
############################!�######,##########�####H���##)\x#�A�0,T#Cc##�##
+<#�—##�$Ardž�C###�0#��##b#zQ��#�#Y�P�@C��#0���D#΄0Z�8Q§
͙###yI��͙B)7^X�#�H�P�4y����#8~##2 215#��f�Y-?�n�#BB�$m:t�GP
+4s�\�#�����b���f#��1��a�#J##G#��R�J�.\|
#��XM###B�IBe�#9~�j��O�#G����f��"k��#���##,#<�h��#�O��#�G��*-z�t�hCΚ'qs<�#��#�i
�!2D���#v�H�`�@#�
#�#�#�#
+#���!#�###:#�A#e���##(8#�#��k�U��##hH##�#��o�`�!�9##��,d#VYi�ߌ<��####;N\�EYy�#bR
0#�JxR##]@aCY&HQ###HA^ �\Q�#\\#E#Q��Кk�###p�)�t#d�####!�OCopyright 2000 by Sun
Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Blank16.gif
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Blank16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Blank16.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/Blank16.gif 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1 @@
+GIF89a####w#1!�#Software: Microsoft Office#!�######,########�########D##;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/clusterHead.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/clusterHead.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/clusterHead.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/clusterHead.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+�PNG
+#
+###IHDR#############�w=�####gAMA##��#�a#### pHYs#########�&�?
####tEXtSoftware#Microsoft Office�5q###�IDATHKcd #���ϸg�#�/_�p���##����'O�mll�GH?
N�U�V�m9޼nӦM5k‫׮‬m�2eʎ��Ϋmmm�{zzNϘ1c%P> (�E�%@M�#7nl�4iҾ�����0�#?�M��B�%PW�-Z�h#!
��囚��O�8Q#�E@�W̞={ P�?R-���#
F^��#�3z�…3)0##�uuu�CCC�Q,Y�r%�#��t5F#UWW�F�#������Բ#dNbbb2�#���g#�}=��������?
#<a�#�Kar�z�ŀ�x�����#L�2+V��#S���3��Ǐ###�~�z�E05�X#R�����#
{����#�4o߾#l �#�Z###�ΰe�##`�|#�`���`���7s�##2#9ؒ����,0nmm}N�#���#��|
�����##�r@#<�g�����"��8HJJZ#��#�D�#�y�#`K������^pR#��blI#9l�?
N�#�����#l ۶ M#�#PjA6#�rb| SSYY�8
#^d#K�#���������{��@#n#��#������
԰�$0x*0JU` �PZ ���Լ#��#XL�`-��#�.В���#h�{`�7#�#
‫ފ‬#��#kkkߐbIii�y��5��>���9RRR:�#�o|#��##��@�+�X�(Ñ#������#�|
�����!//o/�#X###7#�b`d&#�:.�#���ʈ��m####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/clusterHeadSelected.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/clusterHeadSelected.png
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/clusterHeadSelected.png 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/clusterHeadSelected.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,5 @@
+�PNG
+#
+###IHDR#############�w=�####gAMA##��#�a####
pHYs##########a#�####tEXtSoftware#Microsoft Office�5q###�IDATHKcd #>���x� ��
‫ׯ‬
\�,
B��3�gaa�~��緝�|�#��)�`���
 #K�-_ �f��m�#�w4��Z[��~s���=�W#哀�\$
[#�#�l��ζ��*ʾ�LJ+˿�����B�%PW�͘�#!
���*~��h�/��"��+&�_R^��#�#��#��j��ϋ�#`xFO��&���#TZ��{��Bf#K���Ϲt�&r\�MOq��(�#]���
�0�,#�##�##�-#��#þ#��g���
�
+#�����&�#�#t��#���&p1#Ӹ̼
�'�#߸#1x�v��K#",��!�#�Z#�I�
��jm�#��5+!��|A�#!��#V.��#̝
#A#L�#1##lx3#z�!�-6z�#�#�5U���c�����06_
%�#Y�#�`���#�Y���?(�I����]#A#p���?B��i�!�###��{�I#�R��%9 䰽
y�t#xzL�#[�z�ed#@�#�p�ˉ�%LMQ����^3"�E#�$\A��
*ς#��#�"�#PQ*۩aIv
͓ ͓ �(U �A����
Cii
+,��#]�#,&D�#��C#苿��#h�{`�7#�#‫ފ‬#��#���#R,�˹#�r��Ok�r���}�@�~�##$�#�##^
��D#����w�((�#��I �6��^�#�‫�׆‬m� r102#�X#��##|@�方�####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/commonNode.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/commonNode.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/commonNode.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/commonNode.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,6 @@
+�PNG
+#
+###IHDR#############����####gAMA##��#�a#### pHYs#########�&�?
####tEXtSoftware#Microsoft Office�5q###�IDATHK�U�kRa#?��5�F
t�M#]w#DD��.�u#4��n�#�`�ʹ�nf�#&��й$oL��X�MLƼ�k�K��M#�Ǧ�~ρW�Gϴm�#��y����z�G��
�����###�###�[�Vyll��V�##�#�#�����t.����K&������D—J�����'!Q��.@5#�nmm5 m�
�X,������f�
͓M#���@#�?�@�t;;;��$�z#��g�#gwC��7E#x~#�#͓ �3��
@ `�K#�9�#>8������")#�#2���ӂ3�p8\�h4#;$
(�K#�,%�V�##91ӧ���"}�T#uv�]## 5�@�#
+#��n�#�#&�.%'}�V#�mll$u:�U#����NR��#�
�K#�t�#D������##�oc##ȸR��`��)�r��##yJw#�F��9b2��itO��rO���RA��O�"�]^^�9<�{8�NB
��#8##+#�`�##ZX�4Ik��##�`dLOg��b�0#�@~���,#C�
+#�"##�#�o�z]�#%0#�#��=r�I�!{{{# ����P���1)A$#�6�co�##
���f�;��R��#c#����@�B$@#�#Νը
��������7;�#�}zV#�`�#�gWWW�u#�#�&�iI�[f��V���3�Q�q�[Z�=�qX����ԼR\<��#����#�{�#|
>�#��z������#��4�8�N#�5#��KKK�777#��Q?"Dz�����#�ϱdF#.~�#��`0L�l6��r}�x<_WVV�<�#
##�
+zM �#�g�c+b�W####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/commonNodeSelected.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/commonNodeSelected.png
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/commonNodeSelected.png 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/commonNodeSelected.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,9 @@
+�PNG
+#
+###IHDR#############����####gAMA##��#�a####
pHYs#########'��#####tEXtSoftware#Microsoft Office�5q####IDATHK��_HSq#Ǐ��Dfa
#�$#QD#�TD�#>#�(Y�K� BH#�1M�d��X�!�qi��b
�j#R�� �KD�C��Az�������ӻ�S��#������;�w~y��'���r�s�
��/�#K`���1��w��$�#����&�c#zB#|#��7�>##��e8�#/tqi;��dB��G�+��p�##z
‫��ݸ‬#i]=]���ⷘ&�l#���kz#�>7��$jg#�7+$##��#�#��V�շ]�8l#��O'4�$q�#q���
֌�#!
$�#���\�ٗ�\_'#� �1Q#�\ŕ�Džs##{W!zH��2#�F�T�
+V�h(���*a؎V#�
+@�D!#�##�
+95�~i�51�{3��㯍��n�##Q#ɨ<2�C��T�Uq��Q*Ae�
�j1O�Z#�E#��{v#M#b��9����
8R�v��z�
+d!v#�#�)6Z#�+��

+��� �}�-b�C8# Ѩ8O���v#V#+�X%�!##����2��B�6�k����#Y(���sY)>�@@##�� 6���b~���&
##e#�w#�kb##��|�yO�7d�#*�䥲�0j_L#�y���#`��Y�E�e#�?���#~��wk`*��f�#0s#@Y8�#�ީQ�:��!
@��‫��ڸ‬՝#ܻ��)��#�k#��,��
+�v�R�A�#�^X7�u]8�>X�#Ru#c#��^<--���¯[��=P{#����=
�6�>�����1�6���j$��*n&�#�+T��m��@��3�����#ԏ��#��#��Ac��
#N#�'�g1�3��#�a�#0}�N�#��‫�<��ڄ‬####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/Configuration24.gif ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Configuration24.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Configuration24.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/Configuration24.gif2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+GIF89a####��#������ff�fff###���######!�######,##########bX��0�A+
%D�#�ǀ�pX#`����٦*[#�`��#`�Y�6��#�#LHZQ4�Y(K�g�QY5O˕C=F%�$�##ØGs## ‫�?�ܤ‬N�$��g���t=W�
#!�OCopyright 2000 by Sun Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/ConfigurationSelected24.gif ns-allinone-
2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/ConfigurationSelected24.gif
--- ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/ConfigurationSelected24.gif 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/ConfigurationSelected24.gif 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1 @@
+GIF89a####p##!�######,########�###`^�����a^�##########bX��0�@+#@�
�ǂ�p�0`����٦*[#0a��$`�Y�6��#� LHZQ#�Y(K�g�QY5O˕C=F%�$�##ØGs##‫�?�ܤ‬N�$��g���t=W�
#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Export16.gif
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Export16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Export16.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/Export16.gif 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,5 @@
+GIF89a####��####������00a==n��ž���������������ž�����###!
�######,##########PP�I��#�[�1#�}#�]�Q�a7##R�D;%A�jx�#2��#��#�B#,(��
@��1��Q,6�Q��K�
+;]c7,ɹ{9�(##;wKBX���y#��V�O#�"6��##�d

2mI&#F�B��EdJ���$W#
+#�8$J�NJ22!#!�OCopyright 2000 by Sun Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/figuras.ppt
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/figuras.ppt
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/figuras.ppt 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/figuras.ppt 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,399 @@
+��#��###>################�#ࡱ #############################2######
#����########���������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
��������������������������������������R########################### ###
+#######
############################################################################## ###!
###"#######$###%###&###'###(###)###*###+###,###-
###.###/###0###1###��������S###5###6###7###8###9###:###;###<###=###>###?
###@###A###B###C###D###E###F###G###H###I###J###K###L###M###N###O###P###Q###��������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������R#o#o#t#
#E#n#t#r#y#################################################��������#####��d�O�#��#�
#�)�############ G� ���#3###�#######P#o#w#e#r#P#o#i#n#t#
#D#o#c#u#m#e#n#t###########################(###########����########################
################{^########S#u#m#m#a#r#y#I#n#f#o#r#m#a#t#i#o#n######################
#####(#######��������####################################4###@:########D#o#c#u#m#e#
n#t#S#u#m#m#a#r#y#I#n#f#o#r#m#a#t#i#o#n###########8###������������#################
#######################�#########�#o#####�#(###�###�###�###�#######
+#####################�#####/#�#
###0#�###########�#L#####�#D###A#r#i#a#l###�##S�
0�######0#�#X�##X�##�0�#�###�
0�########�#######�#####�#@###��##�#
#######.#########�#
+######### ###@#�#n#####��?###"
##d####�##d#########@#########���#####������############ #
#########@#@#########`#`#########�#�#########�######�######�@###########�##########
#########{#######P###########################�##�0###�#####�#####�A####�#####�#####
�A####�##############�####���#@##�####���#����####�#####�#######�##################
##�######�#3###################����#ʚ;�
+�7#ʚ;######�#g#####�##########�#4###d###d###d###d#######�E�#�###�
0########.�������####p#�#########p###p#�#########@#######<#####�#4###d###d###d###d#
##$�##�k
0X�##�0�#######################�#########
#################�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#######
#####p�##p�####�#�#####�###########################�###########�###################
##�###########�#####################�###########################�###########�######
###############�###########�###################/#�#8#####�#########################
##�###########################�#######�#� ####�############ ##############
0`#�# ###���#####���#####���#33�##��#��##`#�#
###���#####���#####��S#��f#�3##�f##`#�# ###���#####���#####��#��#33�#�g�#`#�#
###���#####���#####���#��##f�##�##`#�# ###���#####www#####���#3��#�PP#��##`#�#
####��#���##ZX#���##db#mo�##��##�##`#�# ###�###���#\###�ғ#�3##�y`#���#Ӣ##`#�#
#####�#���##3f#��#3f�##�##f�#��##`#�# #######���#3f�#���##3�#F�K#f�#��##`#�#
###hk]#���#www#���#���#���#��f#�ܹ#`#�# ###ff�#���#>>\#���#`Y{#ff�#��#���#`#�#
###R>&#���#- ##��#�{p#�_/#̴
##���###�#>#####��?###"
##d####�##d#########@#########���#####������,#########�#|#####��?###"
##d####�##d#####�###@#########���#####������ #######�#### �# #######�###"
�#@#######�#### �#`#######�###�###�##### #�#n#####��?###"
##d####�##d#########@#########���#####������
########### # #########@#@#########`#`#########�#�#####P#�#R########
############### ###### ######## ######@######## ######`########
######�#####`#�#
###############p#�#>###############################################################
##�#�#>###################################################################
#�######��######�###############�f######�(##### �######################
+�###############��#####
+�#########
+##�##�6########�#�q�#�#####�#####�#####�#####�#####�### ##########�####�#
#`#}####�######�###########�###�T#####�###########�# ###Click to edit Master title
style##�#####!#######�#
+###!############�######
+�#########
+##�##�0########�#tt�#�#####�#####�#####�#####�### ##########�####�#
#`######�######�###########�###�#####�###########�#R###Click to edit Master text
stylesSecond levelThird levelFourth levelFifth level##�#####!##########
##########
#######�#
+###S############�#####
+�#########
+##�##�0########�#@{�#�#####�#####�#####�#####�### ##########�####^#
#`#�####�######�###########�###
�>#####�###########�#####*###�###########################�############�#####
+�#########
+##�##�0########�#l��#�#####�#####�#####�#####�###
##########�####^#�#�#�####�######�######### #�###
�@#####�###########�#####*###�#############################�############�#####
+�#########
+##�##�0########�#D��#�#####�#####�#####�#####�### ##########�####^#
#`#�####�######�###########�###
�@#####�###########�#####*###�#############################�############�H#####
+�#########
##�##�0###�#####�#####�#���#�# ޽h#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#@## #�#####D#e#f#a#u#l#t# #D#e#s#i#g#n###�# #####�########�##0##
#�######�###@##�###############�0######�(##### �######################
+�###############��#####
+�#########
+##�##�0########�#0�D#�#####�#####�#####�#####�### ##########�########P#
####�######�#########
+#D###�T#####�###########�#####*###�#######################
###�###########�######################��#####
+�#########
+##�##�0########�#�D#�#####�#####�#####�#####�### ##########�######� �#
####�######�###########D###�V#####�###########�#####*###�#########################
###�###########�######################�d#####
+�#########
+##c##�$########�##########�#####�### #?########�####�#�###
+###�######�###########D####�,#####
+�#########
+##�##�0########�#�D#�#####�#####�#####�#####�### ##########�####�
+�#0#�####�######�###########D###�#####�###########�#d###Clique para editar os
estilos do texto mestreSegundo n�velTerceiro n�velQuarto n�velQuinto
n�vel##�#####.#############################�#####e################��#####
+�#########
+##�##�6########�#��D#�#####�#####�#####�#####�#####�###
##########�####_###P#####�######�######### #D###
�T#####�###########�#####*###�#######################
###�###########�######################��#####
+�#########
+##�##�6########�#��D#�#####�#####�#####�#####�#####�### ##########�####_#�
�#####�######�###########D###
�V#####�###########�#####*###�#########################
###�###########�######################�H#####
+�#########
##�##�0###�#####�#####�#޽h#�#���#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#`#��##�#######�####################�######
0##
#r######�j### ##�####8###z### ##�###############��######�(#####
�######################
+�###############�^###2#
+�####8####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
##X#�
###�^###2#
+�####9####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
�#�#####�^###2#
+�####:####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
+ #I#,####�^###2#
+�####;####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####FB#�#�
###�^###2#
+�####<####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�##�#�###
#�^###2#
+�####=####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####k#�#�#�###
#�^###2#
+�####>####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####g�###�
###�^###2#
+�####?####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####s###\#�###
#�^###2#
+�####@####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�#####
�###B
###�^###2#
+�####A####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####� �####
+###�^###2#
+�####B####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
�###�
###�^###2#
+�####C####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####Y
+##R#�
+###�^###2#
+�####D####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####c
+�###�
+###�^###2#
+�####E####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####U U#�#�
###�^###2#
+�####F####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####�
+�###�
+###�^###2#
+�####G####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####=###O####
#�^###2#
+�####H####
+##�##�6###�#####�#####�#####�#####�#####�#####�###########�########�####%/#n#g
###�|#####
+�####I####
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#`#�###�####^#�##
�####�#####
+�####N####
+##�##�<########�##!D#�#####�#####�#####�#####�#####�#####�##############�####S
�#�##
+##�N#####�###########�#####AP##�###################################�#
##################��###2#
+�####O####
+##�##�<########�#�$D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####9�#�#####
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####P####
+##�##�<########�#�)D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####�#�#�#�
##�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####Q####
+##�##�<########�#<.D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####F#�#�#)
##�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####R####
+##�##�<########�#d1D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####S �#g#6
+##�T#####�###########�#####CH##�#########################
#######�############################�X###2#
+�####S####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####s#:#y#�####�X###
2#
+�####T####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####:
3r{
###�X###2#
+�####U####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####�###L###�X###2#
+�####V####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+#
c

+###�X###2#
+�####W####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
\

?###�X###2#
+�####X####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####d#���####�X###2#
+�####Y####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####"#�###d####�X###
2#
+�####Z####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�##Y#�###�X###2#
+�####[####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�######�#�#Z####�X###
2#
+�####\####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#=
�####�X###2#
+�####]####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####% `�g
###�X###2#
+�####^####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####:
�###{
###�X###2#
+�####_####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
+-#l#R
+###�X###2#
+�####`####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
+�###[
+###�X###2#
+�####a####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####
o#�#N ###�X###2#
+�####c####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+*#i#6####�X###2#
+�####d####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
I#�#####�|#####
+�####e####
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#
#�#`#�###�########9#Y####�#####
+�####f####
+##�##�<########�#�<D#�#####�#####�#####�#####�#####�#####�##############�####
+ �#�
� ##�N#####�###########�#####AP##�###################################�#
##################�X###2#
+�####k####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####*#T#�#k####�X###
2#
+�####l####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+`�-####�X###2#
+�####m####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#C#�##
###�X###2#
+�####n####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
+p#�#I
+###�X###2#
+�####o####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#S#�#9
###�X###2#
+�####p####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�######�#
+#^####�X###2#
+�####q####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####f���###�X###2#
+�####r####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
t#�#�
###�X###2#
+�####s####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####s#F#�#�####�X###
2#
+�####t####
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####f6#u#�###��###2#
+�####x####
+##�##�B####�#�#�#�Ʊ

�#####�#####�#####�#####�#####�#####�#####�###########S#"�####�###`######�#####�##
###?########�####�#w#K#�###
�\#####�###########�#####CN##�###################################�#################
#################�#####
+�####y####
+##�##�<########�##H�
�#####�#####�#####�#####�#####�#####�##############�####�#*##�###
�N#####�###########�#####AP##�###################################�#
##################��###2#
+�####z####
+##�##�<########�#�Q�
�#####�#####�#####�#####�#####�#####�###########C#"�#########�#####�#####?
########�####�#g#J#�###
�V#####�###########�#####CH##�###################################�#################
###########�H#####
+�#########
##�##�0###�#####�#####�#���#�# ޽h#�#####�####### ###?########�######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#0J###�#�(####�###################�######
0##
##(#####�
+(##0##�####L###O
#####�'#####�(##### �######################
+�#####
#########�#####
+�####O
###
+##�##�<########�#��#�#####�#####�#####�#####�#####�#####�##############�####�
�#k#�
+##�N#####�###########�#####AP##�###################################�#
##################�#####
+�####6
###
+##�##�<########�#�œ#�#####�#####�#####�#####�#####�#####�##############�####�#�
�}###�N#####�###########�#####AP##�###################################�#
##################�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#G#�#9####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####S#�#
#�####�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####`#7#w#�####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#p#�#�####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####"#�#�#c####�X###
2#
+�####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#
%#"####�X###2#
+�####
+
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�###A######�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#K#�#*####�X###
2#
+�####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####v###Q#�####�X###
2#
+�####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####L###K#�####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#/#9####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#A#�######�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#/######�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#�#
####�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####1#�#.#r####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#>#}#�####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#]#�#�####�|
#####
+�#####
###
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#`#�###�####�#'#M
#####��###2#
+�#####
###
+##�##�<########�#\ϓ#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####�#�#�#�###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�#####
###
+##�##�<########�#hԓ#�#####�#####�#####�#####�#####�#####�###########C#"�######
###�#####�#####?########�####C###�#&###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�#####
###
+##�##�<########�#$ӓ#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####�#�#�#�###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�#####
###
+##�##�<########�#(‫ݓ‬#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####�#�#�#�###
�T#####�###########�#####CH##�#########################
#######�############################�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#h#�#)####�x###
##
+�#####
###
+##�##�0###�#####�#####�#��##�#####�#####�#####�###########C#"�#########�#####�###
##?########�####�#�#z D####�#####
+�#####
###
+##�##�<########�#��#�#####�#####�#####�#####�#####�#####�##############�####�#�#�
#}###�N#####�###########�#####AP##�###################################�#
##################�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�###U#9####�X###
2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####S#�#�#�####�X###
2#
+�####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####`##F�####�X###2#
+�####!
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#?�####�X###2#
+�####"
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####"#|
#�#c####�X###2#
+�#####
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#�#"####�X###
2#
+�####$
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�########�X###
2#
+�####%
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�###Y#*####�X###
2#
+�####&
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####v#�
�####�X###2#
+�####'
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####L#�###�####�X###
2#
+�####(
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#�#9####�X###
2#
+�####)
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�###O######�X###
2#
+�####*
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#�######�X###
2#
+�####+
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#R#�#
####�X###2#
+�####,
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####1#��r####�X###2#
+�####-
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#
#L#�####�X###2#
+�####.
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#,#k#�####�|
#####
+�####/
###
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#
#�#`#�###�####�#�########�X###2#
+�####4
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#7#v#)####�x###
##
+�####5
###
+##�##�0###�#####�#####�#��##�#####�#####�#####�###########C#"�#########�#####�###
##?########�####�#m########��###2#
+�####0
###
+##�##�<########�#
�#�#####�#####�#####�#####�#####�#####�###########C#"�#########�#####�#####?
########�####�#�#�#�###�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####1
###
+##�##�<########�#,�#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####C#�#�#&###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####2
###
+##�##�<########�#��#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####�#�#�#�###
�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####3
###
+##�##�<########�#��#�#####�#####�#####�#####�#####�#####�###########C#"�########
#�#####�#####?########�####�#�#d#�###
�T#####�###########�#####CH##�#########################
#######�############################�|#####
+�####H
###
+#####�T#########B#�###C#
+##D#####E�###F�B########�#####�#####��####�#####�#####�#####�#####�#####�########
###�#####(#(#�##`#.#�#L###�#�#L#.#7#\ ##� �#
+�##
+##� <#� �## � �#�
+=#*#�#n#C#�#�#}#�#n###_#}#u#�###]#�
+�#� M# �#�#=#�#Z#�#-#�###u#�#G#�###�# #�#�#=###�#[#8#D###-#�###�###`###
####@#�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�# #�#
#�#`#�###�####�#�#�#=####��###2#
+�####I
###
+##�##�<########�###D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####�{ ^
+�###�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####J
###
+##�##�<########�#�#D#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####i

�L##�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####K
###
+##�##�<########�#X
D#�#####�#####�#####�#####�#####�#####�###########C#"�#########�#####�#####?
########�####�#{ ^
+�
##�T#####�###########�#####CH##�#########################
#######�############################��###2#
+�####L
###
+##�##�<########�#`��#�#####�#####�#####�#####�#####�#####�###########C#"�#######
##�#####�#####?########�####� ]
+@#�
+##�T#####�###########�#####CH##�#########################
#######�############################�x#####
+�####N
###
+##�##�0###�#####�#####�#��##�#####�#####�#####�###########C#"�#########�#####�###
##?########�####�#w#%#j####�X###2#
+�####7
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####�#1 _
###�X###2#
+�####8
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####y�
+�
+�###�X###2#
+�####9
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�#"#�####�X###
2#
+�####:
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
##[######�X###2#
+�####;
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####H#X �
�####�X###2#
+�####<
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�######�#�#H####�X###
2#
+�####=
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�######�

C####�X###2#
+�####>
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
�#5
P
###�X###2#
+�####?
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
�#�#�
###�X###2#
+�####@
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####r
+� � �
+###�X###2#
+�####A
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####�#�#_###�X###2#
+�####B
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+�
+6####�X###2#
+�####C
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
+�#�#?####�X###2#
+�####D
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####� .
n
2
+###�X###2#
+�####E
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####W#�#�#�####�X###
2#
+�####F
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�#�(##
###�X###2#
+�####G
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�####�
##G######�X###2#
+�####M
###
+##�##�0###�#####�#####�#####�#####�#####�#####�##############�#####
##R#O
###�H#####
+�#####
###
##�##�0###�#####�#####�#���#�# ޽h#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#P;��##�#######�###########0##
#�######�###P##�###############� ######�(##### �######################
+�###############�X#####
+�######## ###C##�#########�#####�##############�####�#�###
+###�######�###########D####�#####
+�######## ###S##�#########�#�D#�#####�##############�####�
+�#0#�####�######�#########
#D###�"#####�###########�######################�H#####
+�#########
##�##�0###�#####�#####�#޽h#�#���#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#`#��##�#######�###########0##
#�######�###`##�###############� ######�(##### �######################
+�###############�X#####
+�######## ###C##�#########�#####�##############�####�#�###
+###�######�###########D####�#####
+�######## ###S##�#########�#$�D#�#####�##############�####�
+�#0#�####�######�#########
#D###�"#####�###########�######################�H#####
+�#########
##�##�0###�#####�#####�#޽h#�#���#�#####�####### ###?#######�#
###���#####���#####���#33�##��#��####�#8#####�#0#####�#####_#_#_#P#P#T#1#0###�#####
##�.####���#`���##r#
#####p#####w###K###U1######�Y###\####�#########�#######/^##########################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
#########################################################################����

###�������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
����������������������������������������������������������������������������������
�����������������������������������������������������������������������###########
################��՜.##��##+,�0###�###########�#######�#######�#######�#######�#####
##�#######�### ###�###
+###�#######�#######�#######�###############
##########
###Q#######�###########Apresenta��o na
tela####################{^#########################################################
#####################################Arial#####Default Design#####Slide 1#####Slide
2#
###############Fontes usadas#################Modelo de
design#################T�tulos de
slides###############################��##########################���Oh#��##+'��0###
#:##########`#######h#######x#######�### ###�#######�###
+###�###
###�######�#######�#######�#######�###########Slide 1#########helen###########Helen
Peters############3###########Microsoft Office
PowerPoint#@####�#�####@###��a����#@###Pâ ���#########G###
9##����######�#g
#### ###}#####f###########################
#y#�###########�###���#######-#######�#######���#####-
#######$###������x#�#x#�#������####�###############-#######-
#######'#��##########�###���#######-###############-#######$#
###Y###Y###Y###Z###Z###Z###Y###Y###Y#####-###############-
#######�###############-#######�#############-#######%#
###Y###Y###Y###Z###Z###Z###Y###Y###Y#####-#######-
#######�#######'#��##########-###############-#######$# #"#[#!#[#!#\#!
#]#"#]#"#]###\#"#[#"#[#####-###############-#######�###############-#######-#######
%# #"#[#!#[#!#\#!#]#"#]#"#]###\#"#[#"#[#####-#######-
#######�#######'#��##########-###############-#######$#
###M###M###N###O###O###O###N###M###M#####-###############-
#######�###############-#######-#######%#
###M###M###N###O###O###O###N###M###M#####-#######-
#######�#######'#��##########-###############-#######$#
###^###^###_###`###`###`###_###^###^#####-###############-
#######�###############-#######-#######%#
###^###^###_###`###`###`###_###^###^#####-#######-
#######�#######'#��##########-###############-#######$#
###h###h###i###i###j###i###i###h###h#####-###############-
#######�###############-#######-#######%#
###h###h###i###i###j###i###i###h###h#####-#######-
#######�#######'#��##########-###############-#######$#
#)#f#(#f#(#g#(#h#)#h#*#h#*#g#*#f#)#f#####-###############-
#######�###############-#######-#######%#
#)#f#(#f#(#g#(#h#)#h#*#h#*#g#*#f#)#f#####-#######-
#######�#######'#��##########-###############-#######$#
#1#_#0#_#0#`#0#`#1#a#2#`#2#`#2#_#1#_#####-###############-
#######�###############-#######-#######%#
#1#_#0#_#0#`#0#`#1#a#2#`#2#`#2#_#1#_#####-#######-
#######�#######'#��##########-###############-#######$# #,#Q#+#Q#+#R#+#S#,#S#-
#S#-#R#-#Q#,#Q#####-###############-#######�###############-#######-#######%#
#,#Q#+#Q#+#R#+#S#,#S#-#S#-#R#-#Q#,#Q#####-#######-
#######�#######'#��##########-###############-#######$# ###U##U##V#
#V###W###V###V###U###U#####-###############-#######�###############-#######-#######
%# ###U##U##V##V###W###V###V###U###U#####-#######-#######�#######'#��##########-
###############-#######$# ###F###F###F###G###G###G###F###F###F#####-
###############-#######�###############-#######-#######%#
###F###F###F###G###G###G###F###F###F#####-#######-
#######�#######'#��##########-###############-#######$#
#)#Y#)#Y#)#Y#)#Z#)#Z#*#Z#*#Y#*#Y#)#Y#####-###############-
#######�###############-#######-#######%#
#)#Y#)#Y#)#Y#)#Z#)#Z#*#Z#*#Y#*#Y#)#Y#####-#######-
#######�#######'#��##########-###############-#######$#
#3#I#2#I#2#J#2#K#3#K#3#K#4#J#3#I#3#I#####-###############-
#######�###############-#######-#######%#
#3#I#2#I#2#J#2#K#3#K#3#K#4#J#3#I#3#I#####-#######-
#######�#######'#��##########-###############-#######$#
#)#I#)#J#)#J#)#K#)#K#*#K#*#J#*#J#)#I#####-###############-
#######�###############-#######-#######%#
#)#I#)#J#)#J#)#K#)#K#*#K#*#J#*#J#)#I#####-#######-
#######�#######'#��##########-###############-#######$# #-#B#-#B#-#C#-#D#-
#D#.#D#.#C#.#B#-#B#####-###############-#######�###############-#######-#######%#
#-#B#-#B#-#C#-#D#-#D#.#D#.#C#.#B#-#B#####-#######-
#######�#######'#��##########-###############-#######$#
###L###L###M###M###N###M###M###L###L#####-###############-
#######�###############-#######-#######%#
###L###L###M###M###N###M###M###L###L#####-#######-
#######�#######'#��##########-###############-#######$#
#:#O#9#P#9#P#9#Q#:#Q#:#Q#;#P#:#P#:#O#####-###############-
#######�###############-#######-#######%#
#:#O#9#P#9#P#9#Q#:#Q#:#Q#;#P#:#P#:#O#####-#######-
#######�#######'#��##########-###############-#######$#
#;#]#:#]#:#^#:#_#;#_#;#_#<#^#;#]#;#]#####-###############-
#######�###############-#######-#######%#
#;#]#:#]#:#^#:#_#;#_#;#_#<#^#;#]#;#]#####-#######-
#######�#######'#��####�#############�###############-#######�#############-
###########f###8#####################################Z###\###\###]###]###_###_#
#`#
+#`#
+#a#
+#a# #a# #a# #`###_###_###^###^###\###\###Z###Z###Z###Z###Z#
#c##d###g###h###i###i###i###i###h#
#e###d###d###c#
#c#
#c#
#c###k###l###k###l###l###m###m###m###n###n###n###n###n###n###m###m###l###l###l###k#
##k###k###k###k###n#!#n#%#m#%#m#%#m#%#n#%#n#%#n#%#n#!
#o###o###o###n###n###n###n#)#l#)#l#.#k#/#j#0#j#0#j#0#k#0#k#/#l#*#m#)#m#)#m#(#m#(#m#
)#l#)#l#3#i#3#i#7#g#9#f#:#f#:#f#:#f#:#g#7#h#3#j#3#j#3#j#3#i#3#i#3#i#3#i#<#c#>#b#=#b
#?#`#?#`#?#^#?#^#?#^#?
#]#@#]#@#]#@#^#@#^#@#^#@#`#@#`#>#b#>#c#=#d#=#d#<#d#<#d#<#c#<#c#?#Z#?#X#?#U#>#S#?
#R#?#R#?#R#?#S#@#U#@#X#@#Z#@#Z#@#Z#?#Z#?#Z#?
#Z#>#O#>#O#>#O#=#L#=#M#;#J#;#K#:#J#:#I#:#I#:#I#;#I#<#J#<#J#>#L#>#L#?#N#?#N#?#O#?
#O#?
#O#>#O#>#O#>#O#7#G#6#G#3#E#3#D#2#B#2#B#2#B#2#A#3#B#4#D#4#D#6#F#7#F#8#G#7#G#7#G#7#G#
0#?#/#>#/#>#.#=#.#=#-#<#-#<#+#<#*#<#*#<#*#<#*#;#+#;#-#<#-#<#.#<#/#<#0#=#0#=#1#>#1#?
#1#?#0#?#0#?#0#?#&#=#"#=###>###>###=###=###=#"#<#&#<#'#<#'#<#'#<#&#=#&#=###>###?
###?###?###?###?###?###>###>###>###=###>###>###>###>###@###@###@#
#@#
#@#
+#B#
+#B# #A# #A#
+#A#
#@#
#?###?###?###?###?###?###@###@###@# #E###H###L###L###L###L###L###H###E###D###D#
#D# #E#
#E###P###P###V###W###W###W###W###W###V###P###P###O###O###P###P#############-
#######-#######�#######'#��##########-#######-#######$###
#B#
#G###G###B#
#B#####-#######-#######�###############-#######-###
###$###
#B#
#G###G###B#####-#######-
#######�#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+F######AP########.#######�#########�########"System###################8##�#######-
#######�#######�#############�###���#######-###############-
###&###$#####^###^###_###`###a###b###c###d###d###d###c###b#
#a###`###_###^###^#####-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+b#######CH########.#######-#######�#############-###############-
###&###$###3#T#2#T#1#T#0#U#0#W#0#X#1#Y#2#Z#3#Z#4#Z#5#Y#6#X#6#W#6#U#5#T#4#T#3#T#####
-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+X#2#####CH########.#######-#######�#############-###############-
###&###$#####P###P###Q###R###S###T###U###V###V###V###U###T#
#S###R###Q###P###P#####-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+T#######CH########.#######-#######�#############-###############-
###&###$#####B#"#B#!#C# #D# #E# #F#!#G#"#H###H#$#H#%#G#&#F#&#E#&#D#
%#C#$#B###B#####-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+F#!#####CH########.#######-#######�#######�#############�###���#######-
###############-#######$# #&#Q#%#Q#%#R#%#S#&#S#&#S#&#R#&#Q#&#Q#####-
###############-#######�###############-#######-#######%# #&#Q#%#Q#%#R#
%#S#&#S#&#S#&#R#&#Q#&#Q#####-#######-#######�#######'#��##########-###############-
#######$# #^#W#^#W#]#W#^#X#^#X#_#X#_#W#_#W#^#W#####-###############-
#######�###############-#######-#######%#
#^#W#^#W#]#W#^#X#^#X#_#X#_#W#_#W#^#W#####-#######-
#######�#######'#��##########-###############-#######$#
#j#\#i#]#i#]#i#^#j#^#j#^#k#]#j#]#j#\#####-###############-
#######�###############-#######-#######%#
#j#\#i#]#i#]#i#^#j#^#j#^#k#]#j#]#j#\#####-#######-
#######�#######'#��##########-###############-#######$#
#W#K#V#K#V#L#V#M#W#M#W#M#X#L#W#K#W#K#####-###############-
#######�###############-#######-#######%#
#W#K#V#K#V#L#V#M#W#M#W#M#X#L#W#K#W#K#####-#######-
#######�#######'#��##########-###############-#######$#
#X#\#X#\#W#]#X#^#X#^#Y#^#Y#]#Y#\#X#\#####-###############-
#######�###############-#######-#######%#
#X#\#X#\#W#]#X#^#X#^#Y#^#Y#]#Y#\#X#\#####-#######-
#######�#######'#��##########-###############-#######$#
#a#f#a#f#`#g#a#g#a#h#b#g#b#g#b#f#a#f#####-###############-
#######�###############-#######-#######%#
#a#f#a#f#`#g#a#g#a#h#b#g#b#g#b#f#a#f#####-#######-
#######�#######'#��##########-###############-#######$#
#q#d#p#d#p#e#p#f#q#f#r#f#r#e#r#d#q#d#####-###############-
#######�###############-#######-#######%#
#q#d#p#d#p#e#p#f#q#f#r#f#r#e#r#d#q#d#####-#######-
#######�#######'#��##########-###############-#######$#
#z#`#y#`#y#a#y#b#z#b#{#b#{#a#{#`#z#`#####-###############-
#######�###############-#######-#######%#
#z#`#y#`#y#a#y#b#z#b#{#b#{#a#{#`#z#`#####-#######-
#######�#######'#��##########-###############-#######$#
#v#N#v#O#u#O#v#P#v#P#w#P#w#O#w#O#v#N#####-###############-
#######�###############-#######-#######%#
#v#N#v#O#u#O#v#P#v#P#w#P#w#O#w#O#v#N#####-#######-
#######�#######'#��##########-###############-#######$#
#V#S#U#S#U#T#U#T#V#U#V#T#W#T#V#S#V#S#####-###############-
#######�###############-#######-#######%#
#V#S#U#S#U#T#U#T#V#U#V#T#W#T#V#S#V#S#####-#######-
#######�#######'#��##########-###############-#######$#
#`#A#_#A#_#B#_#B#`#B#`#B#`#B#`#A#`#A#####-###############-
#######�###############-#######-#######%#
#`#A#_#A#_#B#_#B#`#B#`#B#`#B#`#A#`#A#####-#######-
#######�#######'#��##########-###############-#######$#
#q#W#q#W#p#W#q#X#q#X#r#X#r#W#r#W#q#W#####-###############-
#######�###############-#######-#######%#
#q#W#q#W#p#W#q#X#q#X#r#X#r#W#r#W#q#W#####-#######-
#######�#######'#��##########-###############-#######$#
#{#G#z#G#z#H#z#I#{#I#{#I#{#H#{#G#{#G#####-###############-
#######�###############-#######-#######%#
#{#G#z#G#z#H#z#I#{#I#{#I#{#H#{#G#{#G#####-#######-
#######�#######'#��##########-###############-#######$#
#q#G#q#H#p#H#q#I#q#I#r#I#r#H#r#H#q#G#####-###############-
#######�###############-#######-#######%#
#q#G#q#H#p#H#q#I#q#I#r#I#r#H#r#H#q#G#####-#######-
#######�#######'#��##########-###############-#######$#
#u#@#u#@#t#A#u#A#u#B#v#A#v#A#v#@#u#@#####-###############-
#######�###############-#######-#######%#
#u#@#u#@#t#A#u#A#u#B#v#A#v#A#v#@#u#@#####-#######-
#######�#######'#��##########-###############-#######$#
#�#M#�#N#�#N#�#O#�#O#�#O#�#N#�#N#�#M#####-###############-
#######�###############-#######-#######%#
#�#M#�#N#�#N#�#O#�#O#�#O#�#N#�#N#�#M#####-#######-
#######�#######'#��##########-###############-#######$#
#�#[#�#[#�#\#�#]#�#]#�#]#�#\#�#[#�#[#####-###############-
#######�###############-#######-#######%#
#�#[#�#[#�#\#�#]#�#]#�#]#�#\#�#[#�#[#####-#######-
#######�#######'#��####�#############�###############-#######�#############-
###########`###8###################################O#X#O#Z#O#Z#P#[#P#[#P#]#P#]#Q#^#
Q#^#R#_#Q#_#Q#_#Q#_#P#^#O#]#O#]#O#\#O#\#N#Z#N#Z#N#X#O#X#O#X#O#X#O#X#T#a#U#b#X#e#Y#f
#Y#g#X#g#W#f#T#c#S#b#S#b#S#a#T#a#T#a#T#a#\#i#\#i#\#i#^#j#^#j#a#k#a#k#b#k#b#l#b#l#b#
l#b#l#a#l#a#l#^#k#]#k#\#j#\#j#[#j#[#i#[#i#[#i#\#i#\#i#f#l#i#l#m#k#m#k#m#k#m#l#m#l#m
#l#m#l#i#m#f#m#e#m#e#l#e#l#f#l#f#l#q#j#q#j#v#i#w#h#x#h#x#h#x#i#w#i#v#i#q#k#q#k#p#k#
p#k#q#j#q#j#{#g#{#g#}#f##e#�#d#�#d#�#d#�#d#�#d##f#}#g#{#h#{#h#{#h#{#g#{#g#{#g#{#g
#�#a#�#`#�#`#�#^#�#^#�#\#�#\#�#\#�#[#�#[#�#[#�#\#�#\#�#\#�#^#�#^#�#`#�#a#�#b#�#b#�#
b#�#a#�#a#�#X#�#V#�#S#�#Q#�#P#�#P#�#Q#�#S#�#V#�#X#�#X#�#X#�#X#�#X#�#X#�#M#�#L#�#M#�
#J#�#K#�#H#�#I#�#H#�#G#�#G#�#G#�#G#�#H#�#H#�#J#�#J#�#L#�#L#�#M#�#M#�#M#�#M#�#M#�#M#
#E#~#E#{#B#{#B#z#@#y#@#z#?#z#?#z#@#|#B#|
#B#~#D##D##E##E##E##E##E#x#=#w#<#w#<#v#;#v#;#t#:#t#:#r#:#r#:#r#:#r#:#r#9#r#9#
r#9#u#9#u#9#v#:#v#:#x#;#x#;#x#<#y#<#x#=#x#=#x#=#x#=#n#;#j#;#g#<#g#<#g#;#g#;#g#;#j#:
#n#:#n#:#o#:#n#:#n#;#n#;#c#<#a#=#_#=#\#=#\#=#\#=#\#=#\#<#^#<#a#<#c#;#c#;#d#<#d#<#c#
<#c#<#X#>#W#>#T#>#T#>#R#@#R#@#Q#?#Q#?#Q#?
#S#=#T#=#W#=#X#=#Y#=#Y#>#X#>#X#>#Q#C#P#F#P#J#P#J#P#J#O#J#O#J#O#F#P#C#P#B#P#B#Q#B#Q#
C#Q#C#P#N#P#N#O#T#O#U#O#U#O#U#N#U#N#T#O#N#O#N#O#M#P#M#P#M#P#N#P#N#############-
#######-#######�#######'#��##########-#######-#######$###S#@#S#E#Z#E#Z#@#S#@#####-
#######-#######�###############-#######-###
###$###S#@#S#E#Z#E#Z#@#####-#######-
#######�#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+D#U#####AP########.#######-#######�#######�#############�###���#######-
###############-#######$# #m#O#m#O#m#P#m#Q#m#Q#n#Q#n#P#n#O#m#O#####-
###############-#######�###############-#######-#######%#
#m#O#m#O#m#P#m#Q#m#Q#n#Q#n#P#n#O#m#O#####-#######-
#######�#######'#��##########-###############-#######$#
#`#M#_#M#_#N#_#O#`#O#`#O#`#N#`#M#`#M#####-###############-
#######�###############-#######-#######%#
#`#M#_#M#_#N#_#O#`#O#`#O#`#N#`#M#`#M#####-#######-
#######�#######'#��##########-###############-#######$#
#f#T#e#T#e#T#e#U#f#U#f#U#g#T#f#T#f#T#####-###############-
#######�###############-#######-#######%#
#f#T#e#T#e#T#e#U#f#U#f#U#g#T#f#T#f#T#####-#######-
#######�#######'#��##########-###############-#######$#
#g#G#f#G#f#H#f#H#g#I#h#H#h#H#h#G#g#G#####-###############-
#######�###############-#######-#######%#
#g#G#f#G#f#H#f#H#g#I#h#H#h#H#h#G#g#G#####-#######-
#######�#######'#��##########-###############-#######$# #m#?
#m#@#m#@#m#A#m#A#n#A#n#@#n#@#m#?#####-###############-#######�###############-
#######-#######%# #m#?#m#@#m#@#m#A#m#A#n#A#n#@#n#@#m#?#####-#######-
#######�#######'#��##########-###############-#######$#
#j#d#i#d#i#e#i#e#j#f#j#e#k#e#j#d#j#d#####-###############-
#######�###############-#######-#######%#
#j#d#i#d#i#e#i#e#j#f#j#e#k#e#j#d#j#d#####-#######-
#######�#######'#��##########-###############-#######$#
#a#_#`#_#`#`#`#`#a#a#a#`#b#`#a#_#a#_#####-###############-
#######�###############-#######-#######%#
#a#_#`#_#`#`#`#`#a#a#a#`#b#`#a#_#a#_#####-#######-
#######�#######'#��##########-###############-#######$# #}#Y#|#Y#|#Y#|
#Z#}#Z#}#Z#}#Y#}#Y#}#Y#####-###############-#######�###############-#######-#######
%# #}#Y#|#Y#|#Y#|#Z#}#Z#}#Z#}#Y#}#Y#}#Y#####-#######-
#######�#######'#��##########-###############-#######$# #{#Q#{#Q#z#R#{#S#{#S#|
#S#|#R#|#Q#{#Q#####-###############-#######�###############-#######-#######%#
#{#Q#{#Q#z#R#{#S#{#S#|#S#|#R#|#Q#{#Q#####-#######-
#######�#######'#��##########-###############-#######$#
#t#_#s#_#s#`#s#`#t#a#t#`#u#`#t#_#t#_#####-###############-
#######�###############-#######-#######%#
#t#_#s#_#s#`#s#`#t#a#t#`#u#`#t#_#t#_#####-#######-
#######�#######'#��##########-###############-
###&###$###0#"#/###.###.#$#.#&#.#'#.#(#/#(#0#)#2#(#3#(#3#'#3#&#3#$#3###2###0#"#####
-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+'#.#####CN########.#######-#######�#######�#############�#############-#######-
#######$#####"###'###'###"###"#####-#######-#######�###############-#######-###
###$#####"###'###'###"#####-#######-
#######�#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+&#######AP########.#######-#######�#######�#############�###���#######-
###############-
###&###$###)#"#(###'###&#$#&#&#&#'#'#(#(#(#)#)#*#(#+#(#,#'#,#&#,#$#+###*###)#"#####
-###############-
#######'#��####�#�######�######@##Arial###############################-
#######.############### #���#
+###2
+'#'#####CH########.#######-
#######�###########################################################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
####################################################C#u#r#r#e#n#t#
#U#s#e#r#############################################������������##################
######################D############################################################
###############������������########################################################
############################################################������������###########
###################################################################################
######################������������#################################################
#�#$#######_��W^##
#�#####Helen Peters####H#e#l#e#n#
#P#e#t#e#r#s#######################################################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
##########################################
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/hierarquica.png ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/hierarquica.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/hierarquica.png
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/hierarquica.png 2006-05-26
11:22:48.000000000 -0300
@@ -0,0 +1,34 @@
+�PNG
+#
+###IHDR###�###�#####��####gAMA##��#�a####
pHYs##########a#�####tEXtSoftware#Microsoft Office�5q###�IDATx^�]#|#U�@#-�#
+�4!t�&6Dѿ#�����.M�##�I/JG@#A JUQWX:RB#1*#@) �#�B�p���7�I�Moo��w~��w˹g�w�̹ �s�UA
$#H �@ �@#�$�|�l#(#T###*#"~Fb)#*#*
+*#*#b[��gl#�@#�H�#z# Z#�#��@�@�d#�#��#�#T?T�#\o#U#5 #6#Wֽ 4#�d �A���@�Ъw-
�w�#�#�� ���Aw��JZ]�#]�ꁂ��)����S �} �G}aP
%��6�4/ɕ�#]A�xS�#�F$@��8����@ #M#� #u#k�s���G�#TP|.����I�YЫ
͜�,T#�x�[%��Vu#�k�#����#z#�.����͜ _K�_'�y�`24#q��9#�;�#PS?
MT�\���l���,�j�#6a��A���FO�ƃh+ʟ���$##�k�h ‫׼‬#ė~6#�#�
��M�x}#>�>��$��##��s#h3�#�A�C�#�=B
��Z#TD#<W�`�H���N�
+���‫���ג‬#w��#U#�#N�j%h,�f%#�[AqN#]047K"����##�m�+!uIy�=b�⁉�
w�#�4��C����1���@#&K�F�#���䮃�#�#��|��uy
+��Z���#_� ������!L��N�#��-#�|
���͢
>��#�O"�kE���J#f�4�#ўʝ)3��3_�e###�'#m�z��L�����t�#G#�0���#}#<W�#�#
#0zРA�@�y#xy�8x��a6N��T�v���I�11#~Ÿ#5�=Xc}�Vo#�q##Z� ߿��ߓ��Q�F�!C�##5#
#:T�#1B#�]ǎ#k��@�����
�I �&�#�'D�nO ӈ,��D��yD##�)W�\#����J�������Ŋ}#���)b�{#pA��q@:�
{�.+&#N�X�b�7�'@#�#‫ݤ‬t���
+���#ə�] �#�1���F�R?������w�#�|����ϋ�ӧg� P#�W###EŊ#��ƞQ#��N�
+�#��?|�p#�g�L/�k'V#<$V�>�i��^�‫ޏ‬##�ibO##7\ɱ ⶃ��###'��jժ�G�#7##6#S�N#���#n߾}�#x|
��#\�#���O��R:�^�#���$�խ�):7�SwD{:Hy�|���#�#=z�X�z�‫ػ‬w�hӦM#�#Ĥ#_|
QZ���ϯ#�'V\��>�j��W���bΜ9b�ܹ�����?^�$p��Y�f#�J��R!_���
�UGv��h�Wr#�+k�B��+��"Ν;� �˗/���4���
f\=#\#q�r�}�w�ŋ#Ŕ)SĤI�ą##D�N��#�!z��)#�?�S�N�~��)��a8��{##�B'�dz�#��d#n�V�$��+�
‫ڵ‬k��X�J�LUa���bܸq�E�#��~=#\��'d�r#‫ݼ‬y��޽���r�%� `#�k‫�׮‬O�>�K�.����‫�ف‬C��]T�1#�'+
p��d#�]�ć#~� J��C�##xY�����Y� ��뙫&����$#V�
+���[��#�###���ѣY�#���#�����##�++GT2� �r��I7�iӦ��|�gDJJ�(_��#���h7#�&�5^�|
�#@�*W�M�6��^zI#.#<m�4��oJ���?�)�2'���#+.��U�.��#JW�4LQ),/�qK#����Ib�;��…
�c#�#p�B�X �˖-#�֭#cƌ��%��;w�,��J#7��#u��>�<���]##XTS<#�ju����U#RŢ#_�i0(
‫�ە‬#‫ܤ‬V#�p͘C
1 ̜9S"�ʫ�*#ԲU���w��r��o��t�T��8�9]y#���d���H�L�$b##���+#�%�k�fĎ��a6T�##�
%'��#��1���L�c�U��JF^C=���##�6�K�[�`��p&p�#��z5�Ɗ��a�tm@���k\y�S3�G��A�#g�>
+j�#��#����l��-U�l�#oO#[O��-�Ί{�<r#�>.#�~��uլ�!#c>�k�<mDS<�#g�x9�b�a�~�N�kd�:h�
+b�#��B#�j��z���#f=��
�4�լ{�
#WAw�#k���G ʐ
+�C}��P+#`En�ӕ6�#�1/�f��p`����>i�##�
#�ø#R�#��IG#��#���#��[L�9�&��U�A#��#U#�/gv�#��m |#�-�2#��m�#垧
�#����#H���#p;e��]0.��kJ�~#]4�7�5��ߍ���M[��}#ĝ#�<W�hQ��s�#�#1���
%#��"��a�/�#��y�X�w�#3!7H�#���#�9��!
�m�r�*���y�F#/Si#�o#�'���/#H��*��=Ԫy#,#{aۙ���֤##�p�ʪ��/7�L-7�7�#�A #��M��ۙL
�=tT�#�
+#Yz�`�}7�T�b��#�Ǯ_#U1k�@U0K�#�y|�##%U��p>��K���@�a�V�Zm�ƴ�b��?
D�֭�(V�#�mX]�`#n�#.#p�Д#����#�#x�]�J�v��ѫj_
+##p#��ӟb#ƻ�#�R�#�F%hn�
+��)S��T6:9#�(n�##��p�#��##��#x#ӣ 㓷 Kt�#�S��'��#�\.^�#_L�<(��#SԆ#�# ‫�*ܢ‬X���R8�#0�o?
{^�qKFg ��%�x#rn;M3u#pK]��#�2�3|��1r
��#�#�D�#�#.uT���Rfm�*+�#W"tf�#��#q�2vP�y hv�l#��7���2��#]��N���-
�D�ҴC��_�7����#�J#��𓘷y#u\�j�###���4#���U����>�hQ-
�W�#��mY�a�111���9&�`��$@O2��U]�6Ȕ��J5j�/��.?�# ޽d��Vn[��dP�##`|5�9�xr�I�
���E���3��t�4W�]�;#:�# P�U#1�4'�"E�$�c���Y|��G��###�O�F�]
+�iL#���4�E��L�Ig�##�*���6(���M#j;#�E�#x`r#H�����#㙎 X��q|�
+#�Uf�##a��h3��Y9&‫݋‬H��<��e�#‫ފ‬HA[�ީ�#�OP#PQ�d�Z�������z#�AG�X���x� �_B��##�\Ǹ�#��|
kJ��*5k1ԕ���J�ԅ���굺�<S�ȑ�ՄNb�[���#��W ߍ����d�Ҧ_�ɭ��C}��
+ж#`/� P'�!�A�#sӇ#W���t�/YV
‫ܪ‬u��#�/jf�H�'5�#�#��#��u�##a�;###�#W�];�o�:_n ۱#�lt7�g�#k֜���#�CO>���EWZmn���m���#�\
##���,�'�##�Efa�'5�A^�f�^$�6j&��Յߥ#h�#1��q7��Is�ٰ��
���Y�rX���H�d��+��\�#<#ddS�p<<#��#��� !�#�̎�|l2X�hD�D��+U##�i#�/�{�_��/#
%�ƵI�{'��3j�;ӥC�r_[O�%p'���#M�#
#'�w#`|B��2�#_����ҥKb�‫ر‬R����N�u��aǎ#r�h�3�ɀp�=�J�T�G�#l##N��m ‫�܄‬赖�
�#'e#�##eG'�#��rm�I}#��#��j;D �ŋ#��+WJ�#P�wZ�d����#�Y#�[�n�#\#����^�#�#ib�9d���#��-
lŊ#}�!�#"����G�#C�FdY��Y#��d�#��### ‫ݺ‬uˢ#Pe��o�…#�<�̽
vͥ K +�b#�K�~�#�6��T9 ��IʼE1#
+l~��Q��lԘO#?G‫�ؼ‬b�#?d�������,%pSSS���U�W�^"99Y���[���
�۷ o�#\�tu�#��#�.�/ws�L�@#0Ǚ�
+T�W�� �PoժU�/gL�G5a���aU#���#���/��_#‫��ׇ‬#���<##P#��T)��3�#m��+�#\u���

�p:.��z6�<�##Z#�;��9#�]#1��S����]�#��l�N�F�ȵ[��ev�#��n.'��eAi#��6�w#��We�#�1Ǥ���#`
~#�l#�p�#|��R�#���l�jwҐ9'7M�AO���\�y�嗯#>|�o�#k8y���#�y�g`k�R��q��2�~�j�
wcr�7#f3��~�#�#y@�=����iP9V��5+6W|�z7_#����>�A���#�#�
><����
�# �U#�oo�� #�ҮҲ�fS�(��6N��]c##����
؊}��#���o�z�5�`'G#o��FA�qk�\����Ǘ�J�0�`�H#x��#on?
r�#�#�P�Qx�q^#����]#>�e/~;<���f�mf##ds9‫��ܐ‬t��*#|u��]|��k�,4u)�|9�#�����'�|"�͍����
s
+��JO'�?o޼�#Y~�vsm##��<�r�#�i�VY��#�#����,<�Ӷm��|��vL0�k�q#�#�
w#Y#X�xϟ?/m�#8p@2##�#�c Ǥ��##}��̜
���DB�-\��3/��e�E�#a٫֮c�#�i��i�Q�Fe����m ۶

�#�*#~����ƹ�H�f#.#�#�۵ s�#��Ox��};##��&#�\ȫ&WYz�)_��7u��Ǐ��#/JD/:�x(W\�q�Ɲ�\}r#�1(
#"#<�3wȸ��-p��M�nܸQ��+�
+�#�7brYqw�h��5q�#��#���&^���V##�/et.�>}��#w��a�,%%
%������e�E[�1#L�b���`���D�##�2�~S:#M�8QL�<Y"#��ƍˢBL�0!
���
�K^/ �Ef�Y�y# �C#�#�z�E�&L#�7<�hw�##Ĕ#iv�"4#O��ʇ �#i|
�o�l��VQ��Z@LS#�;�#ǵfU��D�R#{�#'>J�Vt#6B�(K_Ս�Q1��C�w�[�X$�� Z?��o�����r#���>��e 뗦
4#U�#�#��R�y�{�KiBy�]�5�##npz6E��cb&��" �1Q��kM���%�����
�w�$x�w�7L��}���d�#Yv�F$�&p��ǂ�#収0����޷ �#-#��##La���]l��C�T#�?����#P#�v�a{/���
9�{‫׀‬XqS��Q��q#xS#���G*`�#�����r#c�#�#>&⯹&�j�#�'#�M#�7#�V��#c�e#�ia�l1�m�@��?:: �ۨ�?
#;������pѢS�#��bJ�)�L�2�M�;�X�`A�y�i�13Be�#��##�K#���[qC;�on#9�̢
#dVT�3y##��k���>@#
>͖ �
r�
+�>

ԮR���###9x��#s#��#��۠U.#��TL�9��#E�#��n���CǤX`��cK����`͏ Mr�$2f)#���M#�iO^������
?#����MP[�##[!ǁ^��#�6 T#3o~#{��=?#�=�u#�V)#Z#rDn4}WF%3����?�/��)
��pm��@U��6A�92MN�n14[7u�{��\��+��[t��۬C�#�#�W=�#�M#�#�##��#E�#�'#��
���S���s�J��|�ߨC��#��.V##��љ/�`k3���#�r�$�U�Vm����
+Z`�#=�ӫ#�R�#+!#��#�k�j�,#�#��Q?Z������>��
+����V���#�#�#���
eΊ�G�#��5v����> ‫ڂ‬L��̅
��#?�tj/8ń\#Ghd�Pu�O#@���#Wr�C�#)0���#���#��5#�‫ݟ‬i����
#Wk�8�Øk:‫ג‬l�#��j���#<2d?‫��_څ‬#t�A��g>�Q��)#�C�m\#ZS�‫ܝ‬n2��?
�#�#�›�#>3���>�L��S���I������m�~Y��u�WɢV�F#�il�#��\g�I�`tl#��!�C#� �ީ#����#k�o
#n�w#�n�tt#v�a��N�4�9��� ����.‫ض‬C#.\8�#�j:US#��#�UGjT��#�O�#�#u����=��#b�
Ag�
+�#~#�1.睾�v���#E����%��#k�g��R���P� jY�##���ߵ##̭��� -�P��#�1]N�t��##|��tP 㝫
>^�#cu4>^�=�g��p#gDD��LyN*;##���>#k֬�bc1#Fbbb��#F0�1cF��y�E������Q
#�t##p��ɄƱh�Y��MwT��#^ƺ)��@n,<���YLb�ӫᒗP?�"<��-]��X#�#L�~#Ǡ��#?w+���z��Z��|
͛�##�#���{�n)Ϋ|,��]��]�+p�#=����
͛ 9c$#��si�k�j�*u ‫܂‬E����]Ͷ9�?
k#�.��K�2U#��\�#Vs‫]׮‬RdBƇMOO####̑Y�cǎn�
�##}���Ls�RmW8I�̅ '#��L��#�n.E�0�#.
[�#a2��P#F+W\ƃ�Cm��ߵkW)#*W\�#�N�U7{._�f��Bdn�S��Z#޹#��
叔\#�����uѢE��#gΜ)�N�*��T#��W��:{JT����tG#�#n�0Ė��#�'
�bs#�#4Qn<P] @���#���+‫ד‬w
ͬ �#a�Y��G
ͬ �p)f
+�9#��Y#�#�����q *�o"�##�]M- ��#�[�i`����#��4�#�!2#�߆tv% �n�x��]��#��#
|\��C�N#bɚ�#������#�yMxP#�QeР6#��#=�/wQ���?�_xN 煮 Z#���7��#_��d}�Ӕ*�#�
Ɛ$�r���r�.�&#pN�ʰMA_#����J^#��#5�l�‫��܊‬#-Ѣ{#t�M#\�x#±'7���u�!������Gn�Jk70#��#
8�#�%#��<��[�]F��u:��ҹ�w�#pn�#h�b#� #�oJ�\q=#�ߔ�#��%#:���x�#&#���;U�R��#*‫!ר‬
J^w�#tC�<�#��>#z�k��_:+#E�##��#� �>xH,�i�(~MI��z�<
+f#�Jz�i%�#��c^e� ��%s�FDz�C#�Ĺ����b��x'��8�m��V#��Ȏ��kZ�X#��##�Fȱ'x�q�#1d�
�#��5�=�;���ȁ���;"q�H:yJ�N="��:'��\'zu4H�#fŘs�#���;�ӏ7�iӦ�Eʔa�uW#�U6‫ܣ‬u�‫�ܚ‬gқ#
+�ƞTQ��*��#][��c2U# ܏~#D���R�E��#&}���#Ѯ�#�1 ��^+�ƃuh##�P#S��!###�#a,g
+ o�y1#3F#C#�X��#Gg���#�^��G��g?#�c��z��A##�/9�>�a��c��#11:��
}�W�H6�{��]��7�N:y:s��t�7Q�~}�g���e}rk�e��a.��U�<#n,q�� ‫܍‬#�٠i��-s#�'�#��
%�m�$���1�$��3#L�7�}�o?tI�@��Dx#��#&e�#(D*�#��� x�#�#1��#6L‫��!ݺ‬
+kd�h�txa�UW�CkX�G��C#���.(�$�M�< * #,\#<͌ SMk�#t���]#5#�X�q�o#"p�Zjy�w��EDuF�#\#��겨
�4�K#��#�a �Eb#(�a>�8<Հ�##U+# ��8?_�4#�x�#3�? 97‫�؝‬b#Ȓ�#��#-�$#꽶
�Qu�vпu&�#(#s���0:|et�#Ġ{<���U���#�3P#�t�Cs�ߘ�#�ΏW‫��ޠ‬#D/9��3�&s�Qo
J#I�7�.#O�n#9#�*#��#�)��X\��#g�##�E�}
+��B#L:�<m�hV#@#h+�E�C�MC@��鹪�#�#4#ē#A $�Z#܏g@
+#���@�@��3+��#\{��߳�#��z�<#��4;�#�=�+Ӻ��cОJ# ��S}{���#"D#�#�#s�x�^�####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Manna.gif
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Manna.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Manna.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Manna.gif
2006-05-26 11:22:48.000000000 -0300
@@ -0,0 +1 @@
+GIF89aX###p##!�######,####X###�###������####œ����#��� ޼�‫�ڋ‬#��H�扦
�ʶ�#r`�rm+v���1�##��#W###�#3�#‫���ޚ‬h�ҤПv��r����:�^�Y5Z��#�e��G_;�u7��7�7��##�ƅ����
#�ָGDx)��#����#�###�'#�iwX�y��i�z�#;�*kkh�+Y;*��#�I
+(��&(VLz#��#<�#l|�����=�P##;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/New16.gif
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/New16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/New16.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/New16.gif
2006-05-26 11:22:48.000000000 -0300
@@ -0,0 +1,4 @@
+GIF89a####�####������������������������������������������������濾侽���������������
��������ֲ�‫�����������ٱ�ؿ‬ʡ�̩ �Ե�വ‫�޲�ܯ�׸‬ᗙâ�ͨ�������ö��
#############################################!
�######,##########t@�pH,#�G#LɄ�\FX+0�##/�U�#�#�k�E#�6#eK#X�P#�E]��:�I�@##�######HR#
###C#l#
# #0�-�CR##��##�##
+##jRK�MB���CT����HB#b#A#!�OCopyright 2000 by Sun Microsystems, Inc. All Rights
Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Open16.gif
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Open16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Open16.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Open16.gif
2006-05-26 11:22:48.000000000 -0300
@@ -0,0 +1,4 @@
+GIF89a####��#������������̽
�̴
�̳������������{f33###���######!�#####,########@#>��I�d k�
+��"�#c��#�#�#��##�#q##�I��#�‫ڨ‬R)���!�r;_#&� #����#R"#!�OCopyright 2000 by Sun
Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/plana.png
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/plana.png
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/plana.png 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/plana.png
2006-05-26 11:22:48.000000000 -0300
@@ -0,0 +1,23 @@
+�PNG
+#
+###IHDR###�###�#####��####gAMA##��#�a####
pHYs##########a#�####tEXtSoftware#Microsoft Office�5q###�IDATx^�]#xT�#�#�@
+AB@##H�##JH�#@@bDA##E�ё'�<Q�#*E���X##AZh#C#CoJ/R$t###e��‫ݐ‬%e�;���|����9g�{vv��)�
+�&#########wB�0M֋ȏ#�]�����o#V0J�_#�R�C?4�-i#�N���j�@"ɚJ�a��#�}��#Qm"O�#���m��Z?
C�0��DQD�<�7�h#�.�"D�##0:��e�`� D#���O�X#���� he�EmY�� ##L:_!:D�Ǻ
+�'=�#ƪg#"�#��"��f#���a��D�#�%��5+#�L�G#鈽�#+� �p]#[��n#]
$#Ed3Nl#���r�G�>3+o��#�J�����+��0Lsṹ��`��gb�#}Jt�h'�c.3Ky#�F���#"z��#�h{��&�N�#
%#0~�#R[#�����$0�Q#o�8��#�1##�a�3��#m%��G��s��,����#|
�x##�##�#*Gt��2�wD�Y���(�(��*#��ES�@ �E�hV#p��"QS"�#U$��-$ZM� ��(��@MW#F�t�훮��%
�# �k5R�%##��<�RHȕ�@,�zDRO#넉
�[#'#�##�F#���+��##�IF�]�=M�#�K���q�I#`>j#���
�H �� h6x�Z�r�####�5�q�h#�|
#�I��d��0�d0}�V#����p��#�#��.�se�o٧##�-W��_��`qM#����
Ҷ v�(��� M�p�_É#�Dg�#n�\�#M_����
‫�ت‬Xh��#�#?ӼZ�Ķ�FΜu�#�&�C���_#�h�R�0\.ϲ� ‫���צ‬Nf#n ꡣ ̻ dI^�[y��c‫ٺ‬s#‫ؚ‬Sg
‫��ٺ‬Y����25�E�#*���0+���gB�b�XPŊ̳�h ?��G�ʕ�ϼ�m����#�#']Ӷ\�����)ֵo�9���‫�ی‬g##�#�#5‫׵‬
‫ݞ‬g�i�Y��#�v�4#�VM�j###��cc��ߕ�|#�<�I#U�B>y[���#;�m7>��#�ߵ͛��^���G#q� �� p=<<͛ 7
‫ٸ‬q��QQQ,g�0a####{po��#�-
�c�;b�������
�9 �<#&�k�� q�����O{���ۜ�#�#S��HkG�#�V�N�:��w�Z��[�f�###,..�M�>�‫ݸ‬q���~�q
��#�;��
��.###w(2&��>�("��q��~#��k��w�r#.V���Tv��#���hg�6C#1b#o�-ԶKW�&�g�g3-
[��#��#�;D##N8�4U�!A�\����� ˋ�#5�eee�#nff&�p��h9������cK��2��Y)?? ӿ`H�^�.�
%��j��C9R�S�
�cǎ�-�ȑ#Yzz�e�###��Ux����‫ر‬cYRRR^g���q#NHtp#�$�9h�`�D#v����
 ~�7 �d#%�8%%%�pm[�|�
+Õ#�N݆�\��#�]��]��beE�˗�0����##>�BCC�^ք�JD�x�#���Ժ�##aHi�9Ǖ����##[#I�L�e&�[%
�Y��;�UR�c��/
‫׬‬O���H��<#"�uoH��X�#<#GXRO3$�'�i�##
l�4#��#(QA�#H.1]#|@�#‫ܛ‬KTKt�##�m��#� �^���@#�M/#/lg�E�Q�~�##r�B#ƫ�ʋl
‫�ڮ‬fө�"#KF#A#�f�R�@�g/:�#�Z��<�fЄ#�h%�Dr�*B��=0x��*#*}�0�#�*����]
{o~��w��T�P��'�2p�û!��#o�9� õG7#qb#rL��#��d~���H���##�r�J��E�#��j��#s�#�ؒ#�Y|
�##H#�#�j}H�t�0‫�ܛ‬#��{��m8��‚##S%��#��f��k�[l��#l����9_�yIn��#5�6���=OD
+�FD a�#y:p# �Z#P#̭
M#�؅�G�ƎSK��o#O�S���
� # �?��� Hv�\
{�O�Hx�Z����J�Z���P�x�e�[Fy#���##S�X,2\�s#Ī�W��Z��#�C��
%��#Zq#�H�#e#����K�0��#�~�#�3#�m;�>���#�#�Y�‫؀‬9�#,{kв#G#�&!��j�B�n�#�a�u��"�##j7#=|
��#a�<Pt�G�#�Jm��j��2��l�h/�թ#�F�g(��e�Lœ>�#���#+X#���*���#���3#�
+#l�{�C�D###X�#O�R � #(#�����"�� N#4">���#���###�#(*٠��½�]�>+~zn>P�km##,�#h�|
�##�‫ݒ‬a��##
<N|�&'p]����ӼJ��-g#n��xy{�xE##8B##=XD%�h��ř�
‫ג‬l�v���ƿI�Dttw#d�
+�=���#0�\6�_‫\ݷ‬w�EY�oH�%_�p3\#�մm��K~?�R##c-
�Sp�-.7d=;�Y*#H#���#��#�R�j6\��K#B��h�G#�T�##�‫ޝ‬I�#\��#��9q2{s�#���n�#UtQD#}##x��
%BФ#��ӏ�V�z9�� ����*���'��)ĦF|���������b�)�����؎[wX�z��YU&#�I���?��~�f_u�k?
E5��b$�IC�#�wYN����P�jL�&iC�{M��#�lfk�/��`#���,�^#w_qq�ӶlŊ���p=#h�…/o�t��0�F
՞�ѪzK¼n�fw֟�h��##.R���M�$#&�#Z%�6pX��#�ҷ�ߤ>�
+�r�������c'XT�:ir#X�2�#)�
�#'!c(t#�O�#P?�T�j�‫���~�ڳ‬gz��r##�гH��#��u�~����D{̄ �I�I#��5mu�$�#��|
6y�#�#�B•�#�r1�#h����ȱ#_��k-�l՟~�
‫׏‬#/��X����S�'#I9�hx�Wb�6]�#)�3PS�#r4##~^n���Y��#�fP��R�v�F}T�u"��‫'ﭸ‬#~��D�|
��#�X:4�.��!�Rh���r#�|�mf�#��#�#�bx�sj��#Ȝ��6��/#,&!�#�@�#�6# ,�-s�A|
�##+�Rz�u�l�����~��񾥴)#Vd�#����)$8#�ř�`�#� ͓ ��
S ֗ 4Dj#-#ܱ/5�E�#G#�w�A|
�##L�m��B�NϞ��~M��i�#(O/#u('�:�-��;M�!#��S��Z�?aK3w�VV�x�wu�`pA_#dσ��hn�@I_�k9s���
ߧT)�n�$B2ܳ9##\�#2%#��:}�‫�ݣ‬Snȼ�###��p#D�,}�J���7#�^#;��!#;$���n#{���-�!
�H�#2�+#�QA^��#U#�$ �w���f���jА#�� #@��#�#P#%����ч��o���
�s�p#X��T `�.#��#�uq��#:ӇN�<h���`%�_u��# ‫�כ‬w� �K

LD�##��m��#�x�‫׬‬C��s�/W�`��y�֊�#a��'��#[�g#kӹ#�#DŽZ���#lc�- �u��nm:?
{,�WҖ+������#�T����_rAL�H�#�#��#��kHÔ�z�����6\��Z?�#�k��v�=<���‫ڇ‬#w�WoC##qznFf�#��V
+�'A#�̖�
G '�"#�Y�#�k#���/#y��!��i#�=#*��_^�{?K�@���-��V#��@�
�qF#��j�R#��o#�}�i,T��&�0�#��GH##(G�#�C�H��&#`+��$3�rw��H�� �|��$��N��
�##j��i;造��}G��#���#|
0�=Z��#m5P]�G��O#��t9��f-]�<{�$�#�;�\9#��n��ѥw_�3#{��\ ꬕ J�nO�Q[#N�*#�6���u�e6�}2��#
���Y���p�#�%�0t(B-K?�:�>(�l���s�0����J;y��p�K��Ŋ#�y��Y�#�Qn#����?
S'�1�X�7�5�#n�b^^)�(#�v
+�#9�,>�(�r�ÃJ##�z�6��7cA#* )#�պs�I��{#7k�##E�����.##��A�##
‫>ܬ‬C�L�g���$#���m�#���n�@r󼊲_#v�e#5b�‫�ܒ‬X�n���>#1�##�
‫ݤ‬ɬ��V�n}�E#�^n���l�#AX�#M#F�#����‫ �۝‬#�Lp9�##r��!��#��#�f�;l����
�nzQ�Nz##��$n#�Z�xn#�<#H#����o���n�`#��%RF!҈;C!�
] ۢ��#��#T�^�}hT##H�t�n��‫ۀ‬#
+�Q)!�=#PR�̆����
L C+��N�R##�6�#�)�
+
*��F%+7.#r9��`W��Bz�(dj�@�z-[nC2k\�o��#Ot 뎗�\�U#Z!
�6�#�W6#G��[�o�+��:��>/>���L[`=##+#�8�_2�1�#�'���:>}###1m:�uf,#(w�� ޿��Jr#���2c‫[ۍ‬
x�rw ��wqEu#�##)�_VF�_�#@��gZ#��%J�(###GoV�l�K>>>�<<��ԣu�ΛS��#���&O���#U��^�
+#��0���#�w�#\��#&C�K?QI��l�_�q��3�,N�‫ؿ‬E��z���|�#P>42re�Z�Y���##��
+x9,e�V#S)CJ�#2�u��g#&�q�#V%6����#�#?g�F��#�ʒ�"G#��UF*K�^�f�X�F�6γ���,�]
{#�0������#��}I�L��դh|#�!�#�!���~}B�DN�*Yr&�3uA��Z��: #)O����Y�r�[eb!�;F#G`�#w�
ߣ#�'#�E+#���1V��#(U#�yoS����# �##8#�o��pv�֞W�N���W##������#?G���W��QQ)t#��#Վ0u��!
g��p�8�@�#=�#~���[
+�u#0�#�G7�+‫�ܔ‬.Me#)k�EK)X4`�+M�:#�#�"1��##‫ݿ‬t+##<~�o#���\��(a���R���#:nBv8B ��[-‫ק‬
9<�䭈��0#. �#�3Oee�f_:(�!N�vɁ,0�11�8��8
<F����#�#��$��&�#�aNs����g�A����#j �#��Gy��3/���k)��/'n�
‫ޚ‬j��V�WX��I�:��kU�J��rV�a�ByR�=.���>8"3r#6lg�n�p�������ŵ�|��������##�d��?
##ŧ?͓
����8r��i�#e#�l�#�G3k���$�F����Lb!AM�]#���#9se�y���v
‫�ێ‬#}�/�^#Sm��A1"##~&���f\#��8���#?�p��#��Z@�0 1�# #]F����K��Ə���##)#���
3�#�#ͼ#�~�a#�ܰ9�q�vș�H#-#N#ti�$u�.��P^#�#�Z��!��M^�P�#�|f�%�d�b�s#�N�#D�۹ y��n�#~�
Ӑ<��a�#�###>#�ÖD##�
+ZK#&:�##�q�����~at#9�S#� Dq��j�p#m��'�i�#�c���_��L�fȶS��!�?e^>��^Pk�U�z=�Z###
�O�S~�:#�ȅ�D#u���X�F#|�#r/\}��=g#
+QO�у��}ʌ#��#rW�/¢}#�3�"�#�#u+�%�U)��: ۩֟��U�\���u�]���{��p߮��EU###ۜ
‫�װ‬.Xt�#�*f��@����#1�T�. IF\r�}=GN�4Z#�z���+nt|�#w����n���\�n#���yT��)e�^��#_�-�nX|
b)#�#����؇_}�6]�J>#�,��#W��Q]3�-����#C�,�I�+W#�V}�#���EJ)5c�*#��D<#��U�O��7���,Z�
‫���܉‬v-��r
ž#i�Ş‫׳‬v���&/Z�&/^�^#2�*ɍ7##Ҕ�3�����{�k#�P��ܹ����;�ce��\�����/8x;�k�d��2]�=���Y�*n
+�\�2 ̐ ֔g�j>�#*1_�q�fv#�u�d�~R+Q��1�H�#C�"#츻���y�S��A##W��V��
\ͧ �MH����� >�N�)�#ycO#
‫د‬ti#S���h�#��>B�#�eE���#ꃗ 6�A��r�#o�.�#�*|#��t"?#�����#{*�=�5��#�#c\#�%:B��1�#���
+Ӵ#�V��r��l\#�"�+�‫ܥ‬A�@�s�c##O#��"��lz��#�#[�"?#�s��(є!��W8n#]V#"��R��S�p�`Z�8�f.o0
�#��*#��a�Jo�6�'2T`�*3��#^w6o4�]��l.�&#�#���d:�V31�‫ז‬Ʃ����#a#��p\qfB#�R�5��##�‫��ו‬
Z�
+�# ��eH&1�HV#!#�‫ڎ‬t\L�ɪk#�#�\#�V4�#"�#Y�[?<��3NQ##�"
+v��#��##H��º#o0 J8�~٪W#�E�#�\!‫׀‬Y�l#��5UZ@��ը�##g�j#` ͬ%ͬ r#��
-
�##�##�Ľ�&�vM�1�p�#gh��`�þ�#�,�)V��#����?
�jdp@�ý/�#g�8r��:##����a��as�#7#x�B#���#�?�y���T��####IEND�B`�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Save16.gif
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Save16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Save16.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/Save16.gif
2006-05-26 11:22:48.000000000 -0300
@@ -0,0 +1,3 @@
+GIF89a####��#������fff###���#########!�######,##########@H��o�I�##��#A8##
,_H�&��\��Z���'�<x�#��7�#T�
� ᩘA*��'�B]2�5�V�##!�OCopyright 2000 by Sun
Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/SaveAs16.gif
ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/icons/SaveAs16.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/SaveAs16.gif 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/SaveAs16.gif 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,3 @@
+GIF89a####��####������00a==n�����������¿��nnnaaa#########!�######,##########YP�I�#
�#*#KPdL#|T� #�#HI}�#cś�f#�#�b1#�&��fS��N�At�#$K# ߨ)x~#�D��#�H#�x;#�#nS5�D[��e/�##!
�OCopyright 2000 by Sun Microsystems, Inc. All Rights Reserved.
+JLF GR Ver 1.0
+#;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/icons/Warning24.gif ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/Warning24.gif
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/icons/Warning24.gif
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/icons/Warning24.gif 2006-05-26 11:22:48.000000000
-0300
@@ -0,0 +1,4 @@
+GIF89a####p##!�####�#,########�###��?��G��T��W��L��N��M��Z��P��Q��J��L��?
��D��K��V��Z��A��L�zC��L��I��K��Wǯ_��L�vG��H�qA��K��R��S̸��
\ N�tH��N��P R��E��N��T�i?
ħSƲWƱT��_�G�T�nCɴU͸VϺW��J�}CɵZ��P�sG˵SкWӽZ¬J��N��K��NįQDZW�mAͷT��]��_�
�O��P��JʵVʴU�vFϹVѻW��L��T��FԾ\�yI̷TιWҽZ̶
S͸TĪJ��K��Q��O��QθT�sB˵T��P��S�T��O�xD�~K�~JȮ
QϹWθVíSʵW�Q��OӽYɴSʵUȳX��G��?
��GƱWīT��J��S�Q̶

XîT��X��_��N��P̷VëT�xC��R��O��Z��Q��T��OʴW��I��aкT��L��L��F ˶W ҼZ�V� 
I��H�tAʮV̷
XïT��L��Q��RįT��Q�TιXîS��O��Oȶ[-
SθWѼZʵS��]йTθXȳW��J################################################################
###################################################################################
###################################################################################
##############�#_ #H�U�###*$�#�‡##F�##b##+.l�ѡF�##��H0@�
+#�#�#���e�#Q��%Ɇ#ʄ�Rf##�##V�#%�
+LH?r,C#��<3�j
I!��/H�B4)#H#�G��0b�c�(30���F�C�?�p��5j�##k 恒`�/+f�}���OLyb~�*�m�PN@�
+e#��Q1#d�3-�7���9!X�a�{#S���+&ϒ=��,ֈ�Foz^I�#�D�?ӊӊ��vN� ‫��<��=��ב‬b��#a�Ơ#�#-
����###;
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/msg-linux.sh ns-
allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/msg-linux.sh
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/msg-linux.sh 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/msg-linux.sh
2006-05-26 15:53:00.000000000 -0300
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+java gui.MainFrame
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/msg-win32.bat ns-
allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/msg-win32.bat
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/msg-win32.bat 1969-
12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/scriptGeneratorTool/msg-win32.bat
2006-05-26 15:53:09.000000000 -0300
@@ -0,0 +1 @@
+java gui.MainFrame
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/xml2tcl/mannasim-
script.xsd ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/xml2tcl/mannasim-script.xsd
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/xml2tcl/mannasim-
script.xsd 1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/xml2tcl/mannasim-script.xsd 2006-05-26
11:25:45.000000000 -0300
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="simulation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="trace" type="trace" minOccurs="0"/>
+ <xs:element name="time" type="xs:decimal"/>
+ <xs:element name="scenario" type="scenario"/>
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element name="defaultNetwork"
type="networkArchitecture"/>
+ </xs:choice>
+ <xs:element name="accessPoint" type="node" minOccurs="1"
maxOccurs="unbounded"/>
+ <xs:element name="commonNode" type="sensorNode"
minOccurs="1" maxOccurs="unbounded"/>
+ <xs:element name="clusterHead" type="sensorNode"
minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:complexType name="scenario">
+ <xs:attribute name="width" type="xs:decimal" use="required"/>
+ <xs:attribute name="height" type="xs:decimal" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="antenna">
+ <xs:attribute name="name" default="Antenna/OmniAntenna" use="required"
type="xs:string"/>
+ <xs:attribute name="x" default="0" use="optional" type="xs:decimal"/>
+ <xs:attribute name="y" default="0" use="optional" type="xs:decimal"/>
+ <xs:attribute name="z" default="1.5" use="optional" type="xs:decimal"/>
+ <xs:attribute name="gt" default="1.0" use="optional"
type="xs:decimal"/>
+ <xs:attribute name="gr" default="1.0" use="optional"
type="xs:decimal"/>
+ </xs:complexType>
+
+ <xs:complexType name="wirelessPhy">
+ <xs:attribute name="profile" use="required" type="xs:string"/>
+ <xs:attribute name="range" use="optional" type="xs:decimal"/>
+ </xs:complexType>
+
+ <xs:simpleType name="sensorNode">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="mica"/>
+ <xs:enumeration value="mica2"/>
+ <xs:enumeration value="micaz"/>
+ <xs:enumeration value="custom"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="networkArchitecture">
+ <xs:all>
+ <xs:element name="antenna" type="antenna" minOccurs="0"/>
+ <xs:element name="wirelessPhy" type="wirelessPhy" minOccurs="0"/>
+ <xs:element name="mac" type="xs:string" minOccurs="0"/>
+ <xs:element name="queue" type="queue" minOccurs="0"/>
+ <xs:element name="linkLayer" type="xs:string" minOccurs="0"/>
+ <xs:element name="routingProtocol" type="xs:string"
minOccurs="0"/>
+ <xs:element name="disseminatingType" type="dsSettings"
minOccurs="0"/>
+ <xs:element name="propagation" type="xs:string" minOccurs="0"/>
+ <xs:element name="energyModel" type="xs:string" minOccurs="0"/>
+ </xs:all>
+ </xs:complexType>
+
+ <xs:complexType name="queue">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="length" use="required"
type="xs:decimal"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:simpleType name="dsType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="programmed"/>
+ <xs:enumeration value="continuous"/>
+ <xs:enumeration value="on demand"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="dsSettings">
+ <xs:simpleContent>
+ <xs:extension base="dsType">
+ <xs:attribute name="interval" use="optional"
type="xs:decimal"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="node">
+ <xs:sequence>
+ <xs:element name="network" type="networkArchitecture"
minOccurs="0"/>
+ <xs:element name="energy" type="xs:decimal" minOccurs="0"/>
+ <xs:element name="position" type="point" minOccurs="0"/>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="start" type="xs:decimal"/>
+ <xs:element name="stop" type="xs:decimal"/>
+ </xs:sequence>
+ <xs:element name="application" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="times" type="xs:positiveInteger" use="optional"
default="1"/>
+ <xs:attribute name="distribution" type="distribution" use="optional"
default="random"/>
+ </xs:complexType>
+
+ <xs:simpleType name="distribution">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="grid"/>
+ <xs:enumeration value="random"/>
+ <xs:enumeration value="custom"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="sensorNode">
+ <xs:complexContent>
+ <xs:extension base="node">
+ <xs:sequence>
+ <xs:element name="processing" type="xs:string"/> <!--
Processingclass -->
+ <!--
+ <xs:choice>
+ <xs:element name="temperatureGenerator"
type="temperatureGenerator"/>
+ <xs:element name="dataGenerator"
type="dataGenerator"/>
+ </xs:choice>
+ -->
+ <xs:element name="dataGenerator"
type="dataGenerator" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="point">
+ <xs:attribute name="x" use="required" type="xs:decimal"/>
+ <xs:attribute name="y" use="required" type="xs:decimal"/>
+ <xs:attribute name="z" use="required" type="xs:decimal"/>
+ </xs:complexType>
+
+ <xs:complexType name="trace">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="mac" type="xs:boolean"/>
+ <xs:attribute name="router" type="xs:boolean"/>
+ <xs:attribute name="agent" type="xs:boolean"/>
+ <xs:attribute name="movement" type="xs:boolean"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="dataGenerator">
+ <xs:element name="sensingInterval" type="xs:decimal"/>
+ <xs:element name="sensingType" type="dsType"/>
+ <xs:element name="avgMeasure" type="xs:decimal"/>
+ <xs:element name="stdDeviation" type="xs:decimal"/>
+ <xs:element name="max" type="xs:decimal"/>
+ <xs:attribute name="type" type="xs:string" use="required"/>
+ </xs:complexType>
+
+<!--
+ <xs:complexType name="dataGenerator">
+ <xs:element name="sensingInterval" type="xs:decimal"/>
+ <xs:element name="sensingType" type="dsType"/>
+ </xs:complexType>
+
+ <xs:complexType name="temperatureGenerator">
+ <xs:complexContent>
+ <xs:extension base="dataGenerator">
+ <xs:element name="avgMeasure" type="xs:decimal"/>
+ <xs:element name="stdDeviation" type="xs:decimal"/>
+ <xs:element name="max" type="xs:decimal"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+-->
+
+</xs:schema>
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/xml2tcl/mannasim-
tcl.xsl ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/xml2tcl/mannasim-tcl.xsl
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/xml2tcl/mannasim-tcl.xsl
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/xml2tcl/mannasim-tcl.xsl 2006-05-26
11:25:46.000000000 -0300
@@ -0,0 +1,1041 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <xsl:output method="text" omit-xml-declaration="yes" indent="yes"/>
+
+ <xsl:variable name="pi" select="3.14159265359"/>
+
+ <xsl:template match="/simulation">
+
+ # Generated by MannaSim
+ # http://www.mannasim.dcc.ufmg.br/
+
+ puts "Initializing MannaSim Script..."
+
+ #Consumo de energia do sensor node - Dados do Mica Motes
+ set mica(sensing_power) 0.015 ;# i = 5mA, V = 3 --> P = ixV = 15 mW =
0.015 W
+ set mica(processing_power) 0.024 ;# i = 8mA, V = 3 --> P = ixV = 24 mW
= 0.024 W
+ set mica(instructions_per_second) 8000000 ;# Atmel 128L 8MHZ --> 8MIPS
+
+ #Consumo de energia do sensor node - Dados do WINS
+ set wins(sensing_power) 0.064 ;# 64 mW = 0.064 W
+ set wins(processing_power) 0.360 ;# 360 mW = 0.360 W
+ set wins(instructions_per_second) 150000000 ;# Intel StrongArm 1100 133
MHZ --> 150 MIPS
+
+ #Seta valores para consumo de energia com o radio
+ set mica(consumo_transmissao) 0.036 ;#i = 12mA, V = 3 --> P = ixV =
36mW = 0.036W
+ set mica(consumo_recepcao) 0.024 ;#i = 8mA, V = 3 --> P = ixV = 24mW =
0.024W
+
+ set wins(consumo_transmissao) 3.75 ;# 3.75 250m, 0.6 600 mW - 100m
+ set wins(consumo_recepcao) 1.875 ;# 1.875 250m, 0.3 300 mW
+
+ #seta a taxa de transmissao
+ #Phy/WirelessPhy set bandwidth_
+ set mica(taxa_transmissao) 28.8*10e3 ;#28.8 kbps
+ set wins(taxa_transmissao) 100*10e3 ;#100 kbps
+
+ proc setup_mica2 { antenna range } {
+
+ puts "Setting up mica 2 mote with $antenna and range = $range"
+
+ #Phy/WirelessPhy set CPThresh_ 10.0
+ #Phy/WirelessPhy set CSThresh_ 1.559e-11
+ #Phy/WirelessPhy set RXThresh_ 2.78869e-09 ; # 100 meters
+ #Phy/WirelessPhy set RXThresh_ 1.11548e-08 ; # 50 meters
+ #Phy/WirelessPhy set Rb_ 2*1e6
+
+ Phy/WirelessPhy set Pt_ 0.281838
+ Phy/WirelessPhy set freq_ 2.4e09
+ Phy/WirelessPhy set L_ 1.0
+ Phy/WirelessPhy set lambda_ 0.125
+ Phy/WirelessPhy set RXThresh_ [TwoRay 0.281838 [$antenna set Gt_]
[$antenna set Gr_] 0.8 0.8 1.0 $range 0.125]
+ Phy/WirelessPhy set bandwidth_ 28.8*10e3 ;#28.8 kbps
+
+ Node/MobileNode/SensorNode set sensingPower_ 0.015
+ Node/MobileNode/SensorNode set processingPower 0.024
+ Node/MobileNode/SensorNode set instructionsPerSecond_ 8000000
+
+ }
+
+ ##########################################
+ # CONSTANTES
+ #########################################
+ # Continuo: 0
+ # Programada: 1
+ # Sob Demanda: 2
+ ########################################
+
+ proc create_common_app {destination_id disseminating_type
disseminating_interval} {
+ global val
+ if { $val(commonApp) ==
"Application/SensorBaseApp/CommonNodeApp/LeachApp" } {
+ if { $val(n_ch) == 0 } {
+ puts "NO CLUSTER HEADS HAS BEEN DEFINED! Assuming 20% of
common nodes."
+ set val(n_ch) [expr int($val(n_common) * 2 / 10)]
+ }
+ set app_ [new $val(commonApp) $val(nn) $val(n_ch) [expr
sqrt($val(x) * $val(x) + $val(y) * $val(y))]]
+ } else {
+ set app_ [new $val(commonApp)]
+ $app_ set destination_id_ $destination_id
+ }
+ $app_ set disseminating_type_ $disseminating_type
+ $app_ set disseminating_interval_ $disseminating_interval
+ return $app_
+ }
+
+ set val(commonApp) "Application/SensorBaseApp/CommonNodeApp"
+ set val(chApp) "Application/SensorBaseApp/ClusterHeadApp"
+ set val(apApp) "Application/AccessPointApp"
+
+ proc create_cluster_head_app {destination_id disseminating_type
disseminating_interval} {
+ global val
+ set app_ [new $val(chApp)]
+ $app_ set destination_id_ $destination_id
+ $app_ set disseminating_type_ $disseminating_type
+ $app_ set disseminating_interval_ $disseminating_interval
+ return $app_
+ }
+
+ proc create_access_point_app {outside_network} {
+ global val
+ set app_ [new $val(apApp)]
+ $app_ set outside_network_ $outside_network
+ return $app_
+ }
+
+ proc create_temp_data_generator {sensing_interval sensing_type
avg_measure std_deviation maximumTemperatureAllowedValue} {
+ set temp_gen_ [new DataGenerator/TemperatureDataGenerator]
+ $temp_gen_ set sensing_interval_ $sensing_interval
+ $temp_gen_ set sensing_type_ $sensing_type
+ $temp_gen_ set avg_measure $avg_measure
+ $temp_gen_ set std_deviation $std_deviation
+ $temp_gen_ set maximumTemperatureAllowedValue_
$maximumTemperatureAllowedValue
+ return $temp_gen_
+ }
+
+ proc create_data_generator {generator sensing_interval sensing_type
avg_measure std_deviation maximumTemperatureAllowedValue} {
+ set temp_gen_ [new DataGenerator/$generator]
+ $temp_gen_ set sensing_interval_ $sensing_interval
+
+ if {$sensing_type=="continuous"} {
+ $temp_gen_ set sensing_type_ 0
+ } elseif {$sensing_type=="programmed"} {
+ $temp_gen_ set sensing_type_ 1
+ } elseif {$sensing_type=="on demand"} {
+ $temp_gen_ set sensing_type_ 2
+ } else {
+ $temp_gen_ set sensing_type_ $sensing_type
+ }
+ $temp_gen_ set avg_measure $avg_measure
+ $temp_gen_ set std_deviation $std_deviation
+ $temp_gen_ set maximumTemperatureAllowedValue_
$maximumTemperatureAllowedValue
+ return $temp_gen_
+ }
+
+ proc create_common_node { iniEnergy x y z father_addr start stop } {
+ global val ns_ node_ topo udp_ app_ gen_ contador_nodos rng trace
+
+ if { [llength $start] == 0 } {
+ set start [expr $val(start) + [$rng uniform 0 1]]
+ set stop $val(stop)
+ }
+
+ $ns_ node-config -sensorNode ON \
+ -adhocRouting $val(rp) \
+ -llType $val(ll) \
+ -macType $val(mac) \
+ -ifqType $val(ifq) \
+ -ifqLen $val(ifqlen) \
+ -antType $val(antenna) \
+ -propType $val(prop) \
+ -energyModel $val(en) \
+ -phyType $val(netif) \
+ -channelType $val(chan) \
+ -topoInstance $topo \
+ -agentTrace $trace(agent) \
+ -routerTrace $trace(router) \
+ -macTrace $trace(mac) \
+ -rxPower 0.024 \
+ -txPower 0.036 \
+ -initialEnergy $iniEnergy \
+ -movementTrace $trace(movement)
+
+ set node_($contador_nodos) [$ns_ node]
+ $node_($contador_nodos) random-motion 0
+
+ # set x [$rng uniform 0.0 $val(x)]
+ # set y [$rng uniform 0.0 $val(y)]
+
+# set bla [expr int(sqrt($val(nn)))]
+# set x [expr (($contador_nodos) % $bla) * $val(x) / ($bla - 1)]
+# set y [expr (($contador_nodos) / $bla) * $val(y) / ($bla - 1)]
+
+ $node_($contador_nodos) set X_ $x
+ $node_($contador_nodos) set Y_ $y
+ $node_($contador_nodos) set Z_ $z
+
+ puts "* Node [$node_($contador_nodos) node-addr] =
$contador_nodos created in ($x, $y, $z)"
+
+ set app_($contador_nodos) [create_common_app $father_addr
$val(disseminating_type) $val(disseminating_interval)]
+
+ if { $val(leach) == 1 } {
+ set agent [new Agent/RCAgent]
+
+ $agent set sport_ 0
+ $agent set dport_ 0
+
+ $node_($contador_nodos) attach $agent 0
+ $app_($contador_nodos) attach-agent $agent
+
+ $agent add-ll [$node_($contador_nodos) set ll_(0)]
[$node_($contador_nodos) set mac_(0)]
+ } else {
+ set udp_($contador_nodos) [new Agent/UDP]
+ $node_($contador_nodos) attach $udp_($contador_nodos)
$val(port)
+ }
+ $node_($contador_nodos) add-app $app_($contador_nodos)
+
+ set processing_($contador_nodos) [new $val(processing)]
+
+ $app_($contador_nodos) node $node_($contador_nodos)
+
+ if { $val(leach) != 1 } {
+ $app_($contador_nodos) attach-agent $udp_($contador_nodos)
+ }
+
+ $app_($contador_nodos) attach-processing
$processing_($contador_nodos)
+ $processing_($contador_nodos) node $node_($contador_nodos)
+
+ for { set i 0 } { $i &lt; [llength $start] } { incr i } {
+ $ns_ at $start "$app_($contador_nodos) start"
+ }
+
+ for { set i 0 } { $i &lt; [llength $stop] } { incr i } {
+ $ns_ at $stop "$app_($contador_nodos) stop"
+ }
+
+ #[create_temp_data_generator 5.0 0 27.0 10.0 50]
+ set gen_($contador_nodos) $val(data_generator)
+
+ $app_($contador_nodos) attach_data_generator
$gen_($contador_nodos)
+
+ incr contador_nodos
+
+ }
+
+ proc create_cluster_head_node { iniEnergy x y z father_addr start
stop } {
+
+ global val ns_ node_ topo udp_ app_ gen_ contador_nodos rng trace
+
+ if { [llength $start] == 0 } {
+ set start [expr $val(start) + [$rng uniform 0 1]]
+ set stop $val(stop)
+ }
+
+ $ns_ node-config -sensorNode ON \
+ -adhocRouting $val(rp) \
+ -llType $val(ll) \
+ -macType $val(mac) \
+ -ifqType $val(ifq) \
+ -ifqLen $val(ifqlen) \
+ -antType $val(antenna) \
+ -propType $val(prop) \
+ -energyModel $val(en) \
+ -phyType $val(netif) \
+ -channelType $val(chan) \
+ -topoInstance $topo \
+ -agentTrace $trace(agent) \
+ -routerTrace $trace(router) \
+ -macTrace $trace(mac) \
+ -rxPower 0.024 \
+ -txPower 0.036 \
+ -initialEnergy $iniEnergy \
+ -movementTrace $trace(movement)
+
+ set node_($contador_nodos) [$ns_ node]
+ $node_($contador_nodos) random-motion 0
+
+ # set x [$rng uniform 0.0 $val(x)]
+ # set y [$rng uniform 0.0 $val(y)]
+
+# set bla [expr int(sqrt($val(nn)))]
+# set x [expr (($contador_nodos) % $bla) * $val(x) / ($bla - 1)]
+# set y [expr (($contador_nodos) / $bla) * $val(y) / ($bla - 1)]
+
+ $node_($contador_nodos) set X_ $x
+ $node_($contador_nodos) set Y_ $y
+ $node_($contador_nodos) set Z_ $z
+
+ puts "* Cluster head [$node_($contador_nodos) node-addr] =
$contador_nodos created in ($x, $y, $z)"
+
+ set udp_($contador_nodos) [new Agent/UDP]
+
+ set app_($contador_nodos) [create_cluster_head_app $father_addr
$val(disseminating_type) $val(disseminating_interval)]
+
+ $node_($contador_nodos) attach $udp_($contador_nodos) $val(port)
+ $node_($contador_nodos) add-app $app_($contador_nodos)
+
+#CN# set processing_($contador_nodos) [new $val(processing)]
+
+ $app_($contador_nodos) node $node_($contador_nodos)
+ $app_($contador_nodos) attach-agent $udp_($contador_nodos)
+
+#CN# $app_($contador_nodos) attach-processing $processing_($contador_nodos)
+ $processing_($contador_nodos) node $node_($contador_nodos)
+
+ for { set i 0 } { $i &lt; [llength $start] } { incr i } {
+ $ns_ at $start "$app_($contador_nodos) start"
+ }
+
+ for { set i 0 } { $i &lt; [llength $stop] } { incr i } {
+ $ns_ at $stop "$app_($contador_nodos) stop"
+ }
+
+#CN# set gen_($contador_nodos) $val(data_generator)
+#CN# $app_($contador_nodos) attach_data_generator $gen_($contador_nodos)
+
+ incr contador_nodos
+
+ }
+
+ proc create_access_point { iniEnergy x y z start stop} {
+ global ns_ val node_ app_ udp_ contador_nodos topo trace rng
+
+ if { [llength $start] == 0 } {
+ set start [expr $val(start) + [$rng uniform 0 1]]
+ set stop $val(stop)
+ }
+
+ $ns_ node-config -sensorNode ON \
+ -adhocRouting $val(rp) \
+ -llType $val(ll) \
+ -macType $val(mac) \
+ -ifqType $val(ifq) \
+ -ifqLen $val(ifqlen) \
+ -antType $val(antenna) \
+ -propType $val(prop) \
+ -energyModel $val(en) \
+ -phyType $val(netif) \
+ -channelType $val(chan) \
+ -topoInstance $topo \
+ -agentTrace $trace(agent) \
+ -routerTrace $trace(router) \
+ -macTrace $trace(mac) \
+ -rxPower 0.5 \
+ -txPower 0.5 \
+ -initialEnergy $iniEnergy \
+ -movementTrace $trace(movement)
+
+ set node_($contador_nodos) [$ns_ node]
+ $node_($contador_nodos) random-motion 0
+ set app_($contador_nodos) [create_access_point_app [$node_(0)
node-addr]]
+
+ if { $val(leach) == 1 } {
+ set agent [new Agent/RCAgent/LeachAgent]
+
+ $agent set sport_ 0
+ $agent set dport_ 0
+
+ $node_($contador_nodos) attach $agent 0
+ $app_($contador_nodos) attach-agent $agent
+
+ $agent add-ll [$node_($contador_nodos) set ll_(0)]
[$node_($contador_nodos) set mac_(0)]
+ } else {
+ set udp_($contador_nodos) [new Agent/UDP]
+ $node_($contador_nodos) attach $udp_($contador_nodos)
$val(port)
+ $app_($contador_nodos) attach-agent $udp_($contador_nodos)
+ }
+ $node_($contador_nodos) set X_ $x
+ $node_($contador_nodos) set Y_ $y
+ $node_($contador_nodos) set Z_ $z
+
+ puts "* Access point [$node_($contador_nodos) node-addr] =
$contador_nodos created in ($x, $y, $z)"
+
+ for { set i 0 } { $i &lt; [llength $start] } { incr i } {
+ $ns_ at $start "$app_($contador_nodos) start"
+ }
+
+ for { set i 0 } { $i &lt; [llength $stop] } { incr i } {
+ $ns_ at $stop "$app_($contador_nodos) stop"
+ }
+
+ incr contador_nodos
+
+ }
+
+ ###
+ # Grid distribution.
+
+ proc get_next_x {} {
+
+ global val
+
+ set aux [expr int(sqrt($val(nn)))]
+
+ return [expr (($contador_nodos) % $aux) * $val(x) / ($aux - 1)]
+
+ }
+
+ proc get_next_y {} {
+
+ global val
+
+ set aux [expr int(sqrt($val(nn)))]
+
+ return [expr (($contador_nodos) / $aux) * $val(y) / ($aux - 1)]
+
+ }
+
+ ####
+ # Calculating the receiving threshold (RXThresh_ for Phy/Wireless)
+ # Wei Ye, weiye@isi.edu, 2000
+
+ proc Friis { Pt Gt Gr lambda L d} {
+ set M [expr $lambda / (4 * <xsl:value-of select="$pi"/> * $d)]
+ return [expr ($Pt * $Gt * $Gr * ($M * $M)) / $L]
+ }
+
+ proc TwoRay { Pt Gt Gr ht hr L d lambda } {
+ set crossover_dist [expr (4 * <xsl:value-of select="$pi"/> *
$ht * $hr) / $lambda]
+
+ if { $d &lt; $crossover_dist } {
+ return [Friis $Pt $Gt $Gr $lambda $L $d]
+ } else {
+ return [expr $Pt * $Gt * $Gr * ($hr * $hr * $ht *
$ht) / ($d * $d * $d * $d * $L)]
+ }
+ }
+
+ ###
+
+ proc set_default_settings {} {
+
+ global val
+
+ <xsl:if test="count(defaultNetwork)=1">
+ ####
+ # Default network settings
+
+ <xsl:choose>
+ <xsl:when test="count(defaultNetwork/omniAntenna)=1">
+ set val(antenna) "Antenna/OmniAntenna"
+ Antenna/OmniAntenna set X_ <xsl:value-of
select="defaultNetwork/omniAntenna/@x"/>
+ Antenna/OmniAntenna set Y_ <xsl:value-of
select="defaultNetwork/omniAntenna/@y"/>
+ Antenna/OmniAntenna set Z_ <xsl:value-of
select="defaultNetwork/omniAntenna/@z"/>
+ Antenna/OmniAntenna set Gt_ <xsl:value-of
select="defaultNetwork/omniAntenna/@gt"/>
+ Antenna/OmniAntenna set Gr_ <xsl:value-of
select="defaultNetwork/omniAntenna/@gr"/>
+ </xsl:when>
+ <xsl:when test="count(defaultNetwork/antenna)=1">
+ set val(antenna) "<xsl:value-of
select="defaultNetwork/antenna/@name"/>"
+ <xsl:value-of select="defaultNetwork/antenna/@name"/>
set X_ <xsl:value-of select="defaultNetwork/antenna/@x"/> ;
+ <xsl:value-of select="defaultNetwork/antenna/@name"/>
set Y_ <xsl:value-of select="defaultNetwork/antenna/@y"/> ;
+ <xsl:value-of select="defaultNetwork/antenna/@name"/>
set Z_ <xsl:value-of select="defaultNetwork/antenna/@z"/> ;
+ <xsl:value-of select="defaultNetwork/antenna/@name"/>
set Gt_ <xsl:value-of select="defaultNetwork/antenna/@gt"/> ;
+ <xsl:value-of select="defaultNetwork/antenna/@name"/>
set Gr_ <xsl:value-of select="defaultNetwork/antenna/@gr"/> ;
+ </xsl:when>
+ <xsl:otherwise>
+ # Using default antenna settings
+ set val(antenna) "Antenna/OmniAntenna"
+ Antenna/OmniAntenna set X_ 0
+ Antenna/OmniAntenna set Y_ 0
+ Antenna/OmniAntenna set Z_ 1.5
+ Antenna/OmniAntenna set Gt_ 1.0
+ Antenna/OmniAntenna set Gr_ 1.0
+ </xsl:otherwise>
+ </xsl:choose>
+ ###
+
+ &#10;
+
+ <xsl:choose>
+ <xsl:when
test="defaultNetwork/wirelessPhy/@profile='mica2'">
+ # Using Mica 2 Mote settings
+
+ <xsl:choose>
+ <xsl:when
test="count(defaultNetwork/WirelessPhy/range)=0">
+ set val(range) 100
+ </xsl:when>
+ <xsl:otherwise>
+ set val(range) <xsl:value-of
select="defaultNetwork/WirelessPhy/range"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ setup_mica2 $val(antenna) $val(range)
+ </xsl:when>
+ <xsl:otherwise>
+ # Initialize the SharedMedia interface with
parameters to make
+ # it work like the 914MHz Lucent WaveLAN DSSS radio
interface
+
+ Phy/WirelessPhy set CPThresh_ 10.0
+ Phy/WirelessPhy set CSThresh_ 1.559e-11
+ Phy/WirelessPhy set RXThresh_ 3.652e-10
+ Phy/WirelessPhy set Rb_ 2*1e6
+ Phy/WirelessPhy set Pt_ 0.2818
+ Phy/WirelessPhy set freq_ 914e+6
+ Phy/WirelessPhy set L_ 1.0
+
+ Node/MobileNode/SensorNode set sensingPower_ 0.015
+ Node/MobileNode/SensorNode set processingPower 0.024
+ Node/MobileNode/SensorNode set instructionsPerSecond_
8000000
+ </xsl:otherwise>
+ </xsl:choose>
+
+ set val(bandwidth) [Phy/WirelessPhy set bandwidth_]
+
+ <xsl:choose>
+ <xsl:when test="count(defaultNetwork/mac)=0">
+ set val(mac) Mac/<xsl:value-of
select="defaultNetwork/mac"/>
+ </xsl:when>
+ <xsl:otherwise>
+ set val(mac) Mac/802_11
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="count(defaultNetwork/queue)=0">
+ set val(ifq) Queue/DropTail/PriQueue
+ </xsl:when>
+ <xsl:otherwise>
+ set val(ifq) <xsl:value-of
select="defaultNetwork/queue"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="count(defaultNetwork/queue/@length)=0">
+ set val(ifqlen) 200
+ </xsl:when>
+ <xsl:otherwise>
+ set val(ifqlen) <xsl:value-of
select="defaultNetwork/queue/@length"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="count(defaultNetwork/linkLayer)=0">
+ set val(ll) LL
+ </xsl:when>
+ <xsl:otherwise>
+ set val(ll) <xsl:value-of
select="defaultNetwork/linkLayer"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="defaultNetwork/routingProtocol=LEACH">
+ set val(rp) "DumbAgent"
+ </xsl:when>
+ <xsl:when test="count(defaultNetwork/routingProtocol)=1">
+ set val(rp) "<xsl:value-of
select="defaultNetwork/routingProtocol"/>"
+ </xsl:when>
+ </xsl:choose>
+ </xsl:if>
+
+ <xsl:if test="count(defaultNetwork/dsSettings)=1">
+ # Disseminating settings
+ <xsl:variable name="type"
select="defaultNetwork/@disseminatingType"/>
+ <xsl:choose>
+ <xsl:when test="$type='continuous'">
+ set val(disseminating_type) 0 ;# Continuous
+ </xsl:when>
+ <xsl:when test="$type='programmed'">
+ set val(disseminating_type) 1 ;# Programmed
+ </xsl:when>
+ <xsl:when test="$type='on demand'">
+ set val(disseminating_type) 2 ;# On demand
+ </xsl:when>
+ <xsl:otherwise>
+ set val(disseminating_type) <xsl:value-of
select="$type"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:if test="count(defaultNetwork/dsSettings/@interval)=1">
+ set val(disseminating_interval) <xsl:value-of
select="defaultNetwork/dsSettings/@interval"/>
+ </xsl:if>
+ </xsl:if>
+
+ # Configuration adjustment
+
+ if { $val(rp) == "LEACH" } {
+
+ set val(rp) DumbAgent
+ set val(leach) 1
+
+ if { $val(ll) != "RCALinkLayer" } {
+ puts "LEACH requires RCALinkLayer! Forcing it!!!"

+ set val(ll) RCALinkLayer


+ }
+
+ if { $val(netif) != "Phy/WirelessPhy/LeachWirelessPhy" } {
+ puts "LEACH requires LeachWirelessPhy! Forcing it!!!"
+ set val(netif) Phy/WirelessPhy/LeachWirelessPhy
+ }
+
+ if { $val(mac) != "Mac/Sensor" } {
+ puts "LEACH requires Mac/Sensor! Forcing it!!!"
+ set val(mac) Mac/Sensor
+ }
+
+ set val(port) 0
+
+ Agent/RCAgent set sport_ $val(port)
+ Agent/RCAgent set dport_ $val(port)
+ Agent/RCAgent set packetMsg_ 0
+ Agent/RCAgent set distEst_ 0
+ Agent/RCAgent set packetSize_ 0
+

+ RCALinkLayer set delay_ 25us


+ RCALinkLayer set bandwidth_ [Phy/WirelessPhy set
bandwidth_]
+ RCALinkLayer set off_prune_ 0
+ RCALinkLayer set off_CtrMcast_ 0
+ RCALinkLayer set macDA_ 0
+ RCALinkLayer set debug_ 0
+ } else {
+ set val(leach) 0
+ }
+ if { $val(rp) == "DIRECTED DIFFUSION" } {
+ set val(rp) "Directed_Diffusion"
+ }
+ }
+
+ set val(father_addr) 0
+ set val(port) 2020
+
+ set val(netif) Phy/WirelessPhy
+
+ set_default_settings
+
+ # Global network settings
+
+ set contador_nodos 0
+
+ set val(chan) Channel/WirelessChannel
+
+ # Propagation
+ <xsl:choose>
+ <xsl:when test="count(defaultNetwork/propagation)=1">
+ set val(prop) <xsl:value-of
select="defaultNetwork/propagation"/>
+ </xsl:when>
+ <xsl:otherwise>
+ set val(prop) Propagation/TwoRayGround
+ </xsl:otherwise>
+ </xsl:choose>
+
+ # Energy model
+ <xsl:choose>
+ <xsl:when test="count(defaultNetwork/energyModel)=1">
+ set val(en) <xsl:value-of
select="defaultNetwork/energyModel"/>
+ </xsl:when>
+ <xsl:otherwise>
+ set val(en) EnergyModel/Battery
+ </xsl:otherwise>
+ </xsl:choose>
+
+ # Nodes
+ set val(n_pas) <xsl:value-of select="sum(accessPoint/@times)"/>
+ set val(n_common) <xsl:value-of select="sum(commonNode/@times)"/>
+ set val(n_ch) <xsl:value-of select="sum(clusterHead/@times)"/>
+ set val(nn) [expr $val(n_pas) + $val(n_common) + $val(n_ch)]
+
+ puts "\nNodes count:"
+ puts " - $val(n_pas) access points"
+ puts " - $val(n_common) common nodes"
+ puts " - $val(n_ch) cluster heads"
+ puts " - $val(nn) nodes"
+ puts " - $val(rp) routing protocol"
+ puts " - $val(ll) link layer"
+ puts " - $val(netif) network interface"
+
+ # Scenario size
+ set val(x) <xsl:value-of select="scenario/@width"/>
+ set val(y) <xsl:value-of select="scenario/@height"/>
+
+ puts "\nScenario size: $val(x) x $val(y)"
+
+ set val(start) 0.0
+ set val(stop) [expr $val(start) + <xsl:value-of select="time"/>]
+
+ set ns_ [new Simulator]
+
+ <xsl:if test="count(trace)=1">
+ # Trace
+ puts "\nUsing <xsl:value-of select="trace"/> as trace file"
+ set traceFile [open <xsl:value-of select="trace"/> w]
+ $ns_ trace-all $traceFile
+ $ns_ use-newtrace
+
+ <xsl:choose>
+ <xsl:when test="trace/@mac='false'">
+ set trace(mac) OFF
+ </xsl:when>
+ <xsl:otherwise>
+ set trace(mac) ON
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="trace/@router='false'">
+ set trace(router) OFF
+ </xsl:when>
+ <xsl:otherwise>
+ set trace(router) ON
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="trace/@agent='false'">
+ set trace(agent) OFF
+ </xsl:when>
+ <xsl:otherwise>
+ set trace(agent) ON
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="trace/@movement='false'">
+ set trace(movement) OFF
+ </xsl:when>
+ <xsl:otherwise>
+ set trace(movement) ON
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+
+ set topo [new Topography]
+ $topo load_flatgrid $val(x) $val(y)
+ create-god $val(nn)
+ set rng [new RNG]
+ $rng seed [clock seconds]
+
+#---------------------------------------------------------------------------------
----------
+
+ <xsl:apply-templates select="accessPoint"/>
+ <xsl:apply-templates select="commonNode"/>
+
+ $ns_ at [expr $val(stop)] "flush stdout"
+ $ns_ at [expr $val(stop)+0.0001] "finish"
+
+ proc finish {} {
+ global ns_ traceFile namtrace tempoInicio val
+
+ $ns_ flush-trace
+ # close $namtrace
+
+ $ns_ halt
+ $ns_ flush-trace
+ $ns_ nam-end-wireless $val(stop)
+
+ close $traceFile
+
+ flush stdout
+
+ exit 0
+ }
+
+ puts "Starting Simulation..."
+ $ns_ run
+
+ </xsl:template>
+
+ <xsl:template match="accessPoint">
+
+ # Creating an access point
+ puts "Creating an access point..."
+
+ set_default_settings
+
+ <xsl:apply-templates select="network/*"/>
+
+ <xsl:choose>
+ <xsl:when test="count(position)=1">
+ set local(x) <xsl:value-of select="position/@x"/>
+ set local(y) <xsl:value-of select="position/@y"/>
+ set local(z) <xsl:value-of select="position/@z"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="distribution='grid'">
+ set local(x) [get_next_x]
+ set local(y) [get_next_y]
+ set local(z) 0.0
+ </xsl:when>
+ <xsl:otherwise>
+ set local(x) [$rng uniform 0.0 $val(x)]
+ set local(y) [$rng uniform 0.0 $val(y)]
+ set local(z) 0.0
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ set local(start) ""
+ set local(stop) ""
+
+ <xsl:apply-templates select="start"/>
+ <xsl:apply-templates select="stop"/>
+
+ <xsl:choose>
+ <xsl:when test="count(energy)=1">
+ set local(energy) <xsl:value-of select="energy"/>
+ </xsl:when>
+ <xsl:otherwise>
+ set local(energy) 10000000000
+ </xsl:otherwise>
+ </xsl:choose>
+
+ set val(apApp) <xsl:value-of select="application"/>
+
+ create_access_point $local(energy) $local(x) $local(y) $local(z)
$local(start) $local(stop)
+
+ </xsl:template>
+
+ <xsl:template match="commonNode">
+
+ # Creating common node
+ puts "Creating common node..."
+
+ set_default_settings
+
+ <xsl:apply-templates select="network/*"/>
+
+ set local(start) ""
+ set local(stop) ""
+
+ <xsl:apply-templates select="start"/>
+ <xsl:apply-templates select="stop"/>
+
+ <xsl:choose>
+ <xsl:when test="count(energy)=1">
+ set local(energy) <xsl:value-of select="energy"/>
+ </xsl:when>
+ <xsl:otherwise>
+ set local(energy) 100
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="count(father_addr)=1">
+ set local(father_addr) <xsl:value-of select="father_addr"/>
+ </xsl:when>
+ <xsl:otherwise>
+ set local(father_addr) $val(father_addr)
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:apply-templates select="processing"/>
+ <xsl:apply-templates select="dataGenerator"/>
+
+ <xsl:if test="@times &gt; 1">
+ for { set common_node_i 0 } { $common_node_i &lt; <xsl:value-of
select="@times"/> } { incr common_node_i } {
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="count(position)=1">
+ set local(x) <xsl:value-of select="@x"/>
+ set local(y) <xsl:value-of select="@y"/>
+ set local(z) <xsl:value-of select="@z"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="distribution='grid'">
+ set local(x) [get_next_x]
+ set local(y) [get_next_y]
+ set local(z) 0.0
+ </xsl:when>
+ <xsl:otherwise>
+ set local(x) [$rng uniform 0.0 $val(x)]
+ set local(y) [$rng uniform 0.0 $val(y)]
+ set local(z) 0.0
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ set val(commonApp) <xsl:value-of select="application"/>
+
+ create_common_node $local(energy) $local(x) $local(y) $local(z)
$local(father_addr) $local(start) $local(stop)
+
+ <xsl:if test="@times &gt; 1">
+ }
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template match="clusterHead">
+
+ # Creating common node
+ puts "Creating cluster head node..."
+
+ set_default_settings
+
+ <xsl:apply-templates select="network/*"/>
+
+ set local(start) ""
+ set local(stop) ""
+
+ <xsl:apply-templates select="start"/>
+ <xsl:apply-templates select="stop"/>
+
+ <xsl:choose>
+ <xsl:when test="count(energy)=1">
+ set local(energy) <xsl:value-of select="energy"/>
+ </xsl:when>
+ <xsl:otherwise>
+ set local(energy) 100
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="count(father_addr)=1">
+ set local(father_addr) <xsl:value-of select="father_addr"/>
+ </xsl:when>
+ <xsl:otherwise>
+ set local(father_addr) $val(father_addr)
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:apply-templates select="processing"/>
+ <xsl:apply-templates select="dataGenerator"/>
+
+ <xsl:if test="@times &gt; 1">
+ for { set common_node_i 0 } { $common_node_i &lt; <xsl:value-of
select="@times"/> } { incr common_node_i } {
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="count(position)=1">
+ set local(x) <xsl:value-of select="@x"/>
+ set local(y) <xsl:value-of select="@y"/>
+ set local(z) <xsl:value-of select="@z"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="distribution='grid'">
+ set local(x) [get_next_x]
+ set local(y) [get_next_y]
+ set local(z) 0.0
+ </xsl:when>
+ <xsl:otherwise>
+ set local(x) [$rng uniform 0.0 $val(x)]
+ set local(y) [$rng uniform 0.0 $val(y)]
+ set local(z) 0.0
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ set val(chApp) <xsl:value-of select="application"/>
+
+ create_cluster_head_node $local(energy) $local(x) $local(y) $local(z)
$local(father_addr) $local(start) $local(stop)
+
+ <xsl:if test="@times &gt; 1">
+ }
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template match="network/omniAntenna">
+ puts "Using omni antenna"
+ set val(antenna) "Antenna/OmniAntenna"
+ Antenna/OmniAntenna set X_ <xsl:value-of select="omniAntenna/@x"/>
+ Antenna/OmniAntenna set Y_ <xsl:value-of select="omniAntenna/@y"/>
+ Antenna/OmniAntenna set Z_ <xsl:value-of select="omniAntenna/@z"/>
+ Antenna/OmniAntenna set Gt_ <xsl:value-of select="omniAntenna/@gt"/>
+ Antenna/OmniAntenna set Gr_ <xsl:value-of select="omniAntenna/@gr"/>
+ </xsl:template>
+
+ <xsl:template match="network/wirelessPhy">
+ <xsl:if test="@profile='mica2'">
+ # Using Mica 2 Mote settings
+
+ puts "Using mica 2 mote settings"
+
+ <xsl:choose>
+ <xsl:when test="count(range)=0">
+ set val(range) 100
+ </xsl:when>
+ <xsl:otherwise>
+ set val(range) <xsl:value-of select="range"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ setup_mica2 $val(antenna) $val(range)
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="network/wirelessPhy/mac">
+ set val(mac) Mac/<xsl:value-of select="."/>
+ puts "Using MAC $val(mac)"
+ </xsl:template>
+
+ <xsl:template match="network/wirelessPhy/queue">
+ set val(ifq) <xsl:value-of select="."/>
+ puts "Using queue $val(ifq)"
+ <xsl:if test="count(@length)=0">
+ set val(ifqlen) <xsl:value-of select="@length"/>
+ puts "Using queue length $val(ifqlen)"
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="network/wirelessPhy/linkLayer">
+ set val(ll) <xsl:value-of select="linkLayer"/>
+ puts "Using link layer $val(ll)"
+ </xsl:template>
+
+ <xsl:template match="network/wirelessPhy/routingProtocol">
+ set val(rp) <xsl:value-of select="routingProtocol"/>
+ puts "Using routing protocol $val(rp)"
+ </xsl:template>
+
+ <xsl:template match="network/disseminatingType">
+ # Disseminating settings
+ <xsl:choose>
+ <xsl:when test=".='continuous'">
+ set val(disseminating_type) 0 ;# Continuous
+ puts "Setting disseminating type to continuous"
+ </xsl:when>
+ <xsl:when test=".='programmed'">
+ set val(disseminating_type) 1 ;# Programmed
+ puts "Setting disseminating type to programmed"
+ </xsl:when>
+ <xsl:when test=".='on demand'">
+ set val(disseminating_type) 2 ;# On demand
+ puts "Setting disseminating type to on demand"
+ </xsl:when>
+ <xsl:otherwise>
+ set val(disseminating_type) <xsl:value-of select="."/>
+ puts "Setting disseminating type to custom:
$val(disseminating_type)"
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:if test="count(@interval)=1">
+ set val(disseminating_interval) <xsl:value-of
select="@interval"/>
+ puts "Setting disseminating interval:
$val(disseminating_interval)"
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="start">
+ lappend local(start) <xsl:value-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="stop">
+ lappend local(stop) <xsl:value-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="processing">
+ set val(processing) <xsl:value-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="dataGenerator">
+ set val(data_generator) "[create_data_generator {<xsl:value-of
select="@type"/>} {<xsl:value-of select="sensingInterval"/>} {<xsl:value-of
select="sensingType"/>} {<xsl:value-of select="avgMeasure"/>} {<xsl:value-of
select="stdDeviation"/>} {<xsl:value-of select="max"/>}]"
+ </xsl:template>
+
+ <xsl:template match="temperatureGenerator">
+ <xsl:choose>
+ <xsl:when test="sensingType='continuous'">
+ set val(data_generator) "[create_temp_data_generator
<xsl:value-of select="sensingInterval"/> 0 <xsl:value-of select="avgMeasure"/>
<xsl:value-of select="stdDeviation"/> <xsl:value-of select="max"/>]"
+ </xsl:when>
+ <xsl:when test=".='programmed'">
+ set val(data_generator) "[create_temp_data_generator
<xsl:value-of select="sensingInterval"/> 1 <xsl:value-of select="avgMeasure"/>
<xsl:value-of select="stdDeviation"/> <xsl:value-of select="max"/>]"
+ </xsl:when>
+ <xsl:when test=".='on demand'">
+ set val(data_generator) "[create_temp_data_generator
<xsl:value-of select="sensingInterval"/> 2 <xsl:value-of select="avgMeasure"/>
<xsl:value-of select="stdDeviation"/> <xsl:value-of select="max"/>]"
+ </xsl:when>
+ <xsl:otherwise>
+ set val(data_generator) "[create_temp_data_generator
<xsl:value-of select="sensingInterval"/> <xsl:value-of select="sensingType"/>
<xsl:value-of select="avgMeasure"/> <xsl:value-of select="stdDeviation"/>
<xsl:value-of select="max"/>]"
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+</xsl:stylesheet>
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/xml2tcl/Translator.class ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/xml2tcl/Translator.class
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/xml2tcl/Translator.class
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/xml2tcl/Translator.class 2006-05-26
11:25:52.000000000 -0300
@@ -0,0 +1,203 @@
+���###.#�###xml2tcl/Translator######java/lang/Object#####
xsltFileName###Ljava/lang/String;##ConstantValue###mannasim-
tcl.xsl######absolutePositionElement###position######accessPointElement###accessPoi
nt######applicationElement###application######avgMeasureElement##
+avgMeasure######clusterHeadElement###clusterHead######commonNodeElement##
+commonNode######dataGeneratorElement##
dataGenerator######defaultNetworkElement###defaultNetwork##
###disseminatingElement###disseminatingType######linkLayerElement##

linkLayer##&###macLayerElement###mac##)###maximumDataElement###max##,###nodeEnergyE
lement###energy##/###nodeNetworkArchitectureElement###network##2###omniAntennaEleme
nt###omniAntenna##5###antennaElement###antenna##8###processingElement##
+processing##;##
queueElement###queue##>###queueLengthAttribute##@###routingProtocolElement###routin
gProtocol##C###propagationElement###propagation##F###energyModelElement###energyMod
el##I###scenarioElement###scenario##L###sensingIntervalElement###sensingInterval##O
###sensingTypeElement###sensingType##R###stdDeviationElement##
stdDeviation##U###timeElement###time##X##
traceElement###trace##[###wirelessPhyElement###wirelessPhy##^###absolutePositions##
#[Ljava/lang/String;###fields###Lgui/TclFields;###document###Lorg/w3c/dom/Document;
###<init>###(Lgui/TclFields;)V###Code###()V
#f#i
+###j
#### ###l
#
+## ###n
### ###p
#### ###r
#### ###t
#### ###v
#### ###x
#### ###z
#### ###|
#"## ###~
#%## ###�
#(## ###�
#+## ###�
#.## ###�
#1## ###�
#4## ###�
#7## ###�
#:## ###�
#=## ###�
#@## ###�
#B## ###�
#E## ###�
#H## ###�
#K## ###�
#N## ###�
#Q## ###�
#T## ###�
#W## ###�
#Z## ###�
#]## ###�###java/lang/String##�###CENTER##�###UP LEFT CORNER##�###DOWN LEFT
CORNER##�###UP RIGHT CORNER##�###DOWN RIGHT CORNER##�
#`#a ###�
#b#c ###�
#d#e ###�###LineNumberTable###LocalVariableTable###this###Lxml2tcl/Translator;##
tclFields###open###(Ljava/io/File;)V##
+Exceptions###org/xml/sax/SAXException##�###java/io/IOException##�##.javax/xml/pars
ers/ParserConfigurationException##�##(javax/xml/parsers/DocumentBuilderFactory##�##
#newInstance##,()Ljavax/xml/parsers/DocumentBuilderFactory;
#�#�
+#�#�###newDocumentBuilder##%()Ljavax/xml/parsers/DocumentBuilder;
#�#�
+#�#�##!
javax/xml/parsers/DocumentBuilder##�###parse##&(Ljava/io/File;)Lorg/w3c/dom/Documen
t;
#�#�
+#�#�###importDocument
#�#i
+###�###file###Ljava/io/File;###documentFactory##*Ljavax/xml/parsers/DocumentBuilde
rFactory;###documentBuilder###Ljavax/xml/parsers/DocumentBuilder;###save###(Ljava/l
ang/String;)V###java/io/FileNotFoundException##�##5javax/xml/transform/TransformerC
onfigurationException##�##(javax/xml/transform/TransformerException##�###createDocu
ment
#�#i
+###�###java/io/FileOutputStream##�
#f#�
+#�#�##!javax/xml/transform/dom/DOMSource##�###(Lorg/w3c/dom/Node;)V
#f#�
+#�#�##'javax/xml/transform/stream/StreamResult##�###(Ljava/io/OutputStream;)V
#f#�
+#�#�##&javax/xml/transform/TransformerFactory##�##*()Ljavax/xml/transform/Transfor
merFactory;
#�#�
+#�#�###newTransformer###()Ljavax/xml/transform/Transformer;
#�##
+#�#####javax/xml/transform/Transformer##### transform##;
(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V
####
+#######close
# #i
+#�#
+###fileName##
+outputFile###Ljava/io/FileOutputStream;##

xmlSource###Ljavax/xml/transform/Source;###result###Ljavax/xml/transform/Result;##
transFactory##(Ljavax/xml/transform/TransformerFactory;###transformer##!
Ljavax/xml/transform/Transformer;###newDocument###()Lorg/w3c/dom/Document;
####
+#�####
+simulation######org/w3c/dom/Document#####createElement##)
(Ljava/lang/String;)Lorg/w3c/dom/Element;
### ####!###createTrace###()Lorg/w3c/dom/Element;
###$
+###%###appendChildIfNotNull##-(Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)V
#'#(
+###)##
+createTime
#+#$
+###,###org/w3c/dom/Element##.###appendChild##&(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Nod
e;
#0#1##/#2###createScenario
#4#$
+###5###createDefaultNetwork
#7#$
+###8###createAccessPoint
#:#$
+###;##gui/TclFields##=###getClusterHeadNumber###()I
#?#@
+#>#A###createClusterHead
#C#$
+###D###createCommonNode
#F#$
+###G####2###Lorg/w3c/dom/Element;###getElementsByTagName##*(Ljava/lang/String;)Lor
g/w3c/dom/NodeList;
#K#L####M###org/w3c/dom/NodeList##O###item###(I)Lorg/w3c/dom/Node;
#Q#R##P#S###importTrace###(Lorg/w3c/dom/Element;)V
#U#V
+###W##
+importTime
#Y#V
+###Z###importScenario
#\#V
+###]###importDefaultNetwork
#_#V
+###`###importAccessPoint
#b#V
+###c###importClusterHead
#e#V
+###f###importCommonNode
#h#V
+###i###root###child###export##'javax/xml/transform/stream/StreamSource##n###getCla
ss###()Ljava/lang/Class;
#p#q
+###r###java/lang/Class##t###getResourceAsStream##)
(Ljava/lang/String;)Ljava/io/InputStream;
#v#w
+#u#x###(Ljava/io/InputStream;)V
#f#z
+#o#{##?(Ljavax/xml/transform/Source;)Ljavax/xml/transform/Transformer;
#�#}
+#�#~###outputFileName##
outputStream##
+xsltSource###isTraceFile###()Z
#�#�
+#>#�###getTraceFileName###()Ljava/lang/String;
#�#�
+#>#�###createTextNode##&(Ljava/lang/String;)Lorg/w3c/dom/Text;
#�#�####�##
+isTraceMac
#�#�
+#>#�###true##�###false##�##
setAttribute##'(Ljava/lang/String;Ljava/lang/String;)V
#�#�##/#�###agent##�##
isTraceAgent
#�#�
+#>#�###router##�##
isTraceRoute
#�#�
+#>#�##getFirstChild###()Lorg/w3c/dom/Node;
#�#�##/#�###org/w3c/dom/Node##�##
getNodeValue
#�#�##�#�###setTraceFileName
#�#�
+#>#�##
getAttribute##&(Ljava/lang/String;)Ljava/lang/String;
#�#�##/#�###compareToIgnoreCase###(Ljava/lang/String;)I
#�#�
+#�#�###setTraceMac###(Z)V
#�#�
+#>#�##setTraceAgent
#�#�
+#>#�##setTraceRoute
#�#�
+#>#�###start##�###getSimulationStart###()D
#�#�
+#>#�###java/lang/Double##�###toString###(D)Ljava/lang/String;
#�#�
+#�#�###getSimulationStop
#�#�
+#>#�###parseDouble###(Ljava/lang/String;)D
#�#�
+#�#�###setSimulationStart###(D)V
#�#�
+#>#�###setSimulationStop
#�#�
+#>#�###width##�##
getScenarioX
#�#�
+#>#�###height##�##
getScenarioY
#�#�
+#>#�##
setScenarioX
#�#�
+#>#�##
setScenarioY
#�#�
+#>#�##createAntenna
#�#$
+###�###createWirelessPhy
#�#$
+###�###createMacLayer
#�#$
+###�###createQueue
#�#$
+###�###createLinkLayer
#�#$
+###�###createRoutingProtocol
#�#$
+###�###createPropagation
#�#$
+###�###createEnergyModel
###$
+######/#M##importAntenna
###V
+#######importWirelessPhy
###V
+### ###importMacLayer
###V
+###
###importQueue
###V
+#######importLinkLayer
###V
+#######importRoutingProtocol
###V
+#######importPropagation
###V
+#######importEnergyModel
###V
+#######name#####
+getAntenna
###�
+#># ###x##"###0##$###y##&###z##(###1.5##*###gt##,###1.0##.###gr##0##
+setAntenna
#2#�
+#>#3###getPhyLayer
#5#�
+#>#6###getCommonNodeTransmissionRange
#8#�
+#>#9##*(Ljava/lang/String;D)Lorg/w3c/dom/Element;
#�#;
+###<###Phy/WirelessPhy -
Mica2##>###profile##@###mica2##B###range##D###D###setPhyLayer
#G#�
+#>#H###importWirelessPhyRange###(Lorg/w3c/dom/Element;)D
#J#K
+###L###setCommonNodeTransmissionRange
#N#�
+#>#O###getMacLayer
#Q#�
+#>#R###setMacLayer
#T#�
+#>#U###getIfq
#W#�
+#>#X## getIfqLen
#Z#@
+#>#[###java/lang/Integer##]###(I)Ljava/lang/String;
#�#_
+#^#`###setIfq
#b#�
+#>#c###parseInt
#e#�
+#^#f## setIfqLen###(I)V
#h#i
+#>#j##
getLinkLayer
#l#�
+#>#m###link##
setLinkLayer
#p#�
+#>#q###getRoutingProtocol
#s#�
+#>#t###routing###setRoutingProtocol
#w#�
+#>#x###getPropagation
#z#�
+#>#{###setPropagation
#}#�
+#>#~##
+getBattery
#�#�
+#>#�##
+setBattery
#�#�
+#>#�###getAccessPointTransmissionRange
#�#�
+#>#�###createNodeNetwork###(D)Lorg/w3c/dom/Element;
#�#�
+###�###getAccessPointEnergy
#�#�
+#>#�###createNodeEnergy
#�#�
+###�###getAccessPointLocation
#�#�
+#>#�###isAbsolutePosition###(Ljava/lang/String;)Z
#�#�
+###�###createAbsolutePositon
#�#
+###�##
distribution##�###toLowerCase
#�#�
+#�#�###getAccessPointApplication
#�#�
+#>#�###createApplication
#�#
+###�###times##�###getAccessPointNumber
#�#@
+#>#�###importNodeTransmissionRange
#�#K
+###�###setAccessPointTransmissionRange
#�#�
+#>#�###importNodeEnergy
#�#K
+###�###setAccessPointEnergy
#�#�
+#>#�###importNodePosition##)(Lorg/w3c/dom/Element;)Ljava/lang/String;
#�#�
+###�###setAccessPointLocation
#�#�
+#>#�###importNodeApplication
#�#�
+###�###setAccessPointApplication
#�#�
+#>#�###importNodeTimes###(Lorg/w3c/dom/Element;)I
#�#�
+###�###setAccessPointNumber
#�#i
+#>#�###getCommonNodeDissType
#�#�
+#>#�###getCommonNodeDissInterval
#�#�
+#>#�##+(DLjava/lang/String;D)Lorg/w3c/dom/Element;
#�#�
+###�###getCommonNodeEnergy
#�#�
+#>#�###getCommonNodeLocation
#�#�
+#>#�###getCommonNodeApplication
#�#�
+#>#�###getCommonNodeProcessingType
#�#�
+#>#�###createProcessing
#�#
+###�###getCommonNodeDataGeneratorType
#�#�
+#>#�###getCommonNodeSensingInterval
#�#�
+#>#�###getCommonNodeSensingType
#�#�
+#>#�###getCommonNodeDataAverage
#�#�
+#>#�###getCommonNodeDataDeviation
#�#�
+#>#�###getCommonNodeMaximumData
#�#�
+#>#�###createDataGenerator##?
(Ljava/lang/String;DLjava/lang/String;DDD)Lorg/w3c/dom/Element;
#�#�
+###�###getCommonNodeNumber
#�#@
+#>#�###node###importNodeDisseminatingType
#�#�
+#######setCommonNodeDissType
###�
+#>#####importNodeDisseminatingInterval
###K
+#######setCommonNodeDissInterval
###�
+#># ###setCommonNodeEnergy
###�
+#>#
###setCommonNodeLocation
###�
+#>#####setCommonNodeApplication
###�
+#>#####importNodeProcessing
###�
+#######setCommonNodeProcessingType
###�
+#>#####importDataGeneratorType
###�
+#######setCommonNodeDataGeneratorType
###�
+#>####"importDataGeneratorSensingInterval
# #K
+###!###setCommonNodeSensingInterval
###�
+#>#$###importDataGeneratorSensingType
#&#�
+###'###setCommonNodeSensingType
#)#�
+#>#*###importDataGeneratorAvgMeasure
#,#K
+###-###setCommonNodeDataAverage
#/#�
+#>#0###importDataGeneratorStdDeviation
#2#K
+###3###setCommonNodeDataDeviation
#5#�
+#>#6###importDataGeneratorMax
#8#K
+###9###setCommonNodeMaximumData
#;#�
+#>#<###getClusterHeadTransmissionRange
#>#�
+#>#?###getClusterHeadDissType
#A#�
+#>#B###getClusterHeadDissInterval
#D#�
+#>#E###getClusterHeadEnergy
#G#�
+#>#H###getClusterHeadLocation
#J#�
+#>#K###getClusterHeadApplication
#M#�
+#>#N###getClusterHeadProcessingType
#P#�
+#>#Q###setClusterHeadTransmissionRange
#S#�
+#>#T###setClusterHeadDissType
#V#�
+#>#W###setClusterHeadDissInterval
#Y#�
+#>#Z###setClusterHeadEnergy
#\#�
+#>#]###setClusterHeadLocation
#_#�
+#>#`###setClusterHeadApplication
#b#�
+#>#c###setClusterHeadProcessingType
#e#�
+#>#f###setClusterHeadNumber
#h#i
+#>#i###getNodeNetwork##,(Lorg/w3c/dom/Element;)Lorg/w3c/dom/Element;
#k#l
+###m###createDisseminating
#o#;
+###p###disseminatingInterval###interval##s###type##disseminating##
energyElement##�#�###itIs###Z###i###I#@##########0.0#####description##�###strPosit
ion#####�###absolutePosition##
+appElement##u###eSensingInterval##
eSensingType###eAvgMeasure##eStdDeviation###eMax##
+SourceFile###Translator.java#!#######!############### ###
+###########
###
###################################################################################
########################!###"###########$###
%###########'###(###########*###+###########-
###.###########0###1###########3###4###########6###7###########9###:###########<###
=###########?
###@###########A###B###########D###E###########G###H###########J###K###########M###
N###########P###Q###########S###T###########V###W###########Y###Z###########\###]##
#########_###`#a#####b#c#####d#e###?###f#g###h###�#######�*�#k*# �#m*#
�#o*##�#q*##�#s*##�#u*##�#w*##�#y*##�#{*#!�#}*#$�#*#'�#�*#*�#�*#-
�#�*#0�#�*#3�#�*#6�#�*#9�#�*#<�#�*#?
�#�*#A�#�*#D�#�*#G�#�*#J�#�*#M�#�*#P�#�*#S�#�*#V�#�*#Y�#�*#\�#�*#_�#�*#�#�Y##�SY##�
SY##�SY##�SY##�S�#�*+�#�*#�#��#####�###�#'###T###'#
+#(###)###*###+#"#,#(#-#.#.#4#/#:#0#@#1#F#2#L#3#R#4#X#5#^#6#d#7#j#8#p#9#v#:#|
#;#�#<#�#=#�#>#�#?
#�#@#�#A#�#B#�#C#�#D#�#G#�#G#�#G#�#H#�#I#�#V#�#W#�#X#�#########�#�#�#####�#�#c#####
�#�###�#######�#�#�#h###s########�#�M,�#�N*-+�#‫ڱ‬#�*�#‫׵‬#####�#########^###]###_#
#a###c###d#�###*#######�#�#######�#�#######�#�### ###�#�#####�#�###�###
###�#�#�#�#�#h###�#######<*�#�#�Y+�#�M�#�Y*�#��#�N�#�Y,�#�:#�#�:###�##:###-
##�##,�##�#####�###&# ###j###l##m###n###o#(#p#/#r#7#t#;#u#�###H#####<#�#�#####<#
######/##########################(#########/#
#########�#i###�#######�#h###�#######�#�L+�#�M*,�##�#�*�#�###�#"##N*-*�#&�#*-*�#-
�#3##W-*�#6�#3##W-*�#9�#3##W-*�#<�#3##W*�#��#B�##-*�#E�#3##W-*�#H�#3##W*�#�-
�#I##W�#####�###>#####}###|###~#
#�###�###�#'#�#2#�#=#�#H#�#S#�#]#�#h#�#s#�#~#�#�###*######�#�#####{#�#�###

#v#�#�#####a###J#####�#i###h###########�**�#�#\�#N###�#T##�#/�#X**�#�#Y�#N###�#T##�
#/�#[**�#�#M�#N###�#T##�#/�#^**�#�#!
�#N###�#T##�#/�#a**�#�##�#N###�#T##�#/�#d**�#�##�#N###�#T##�#/�#g**�#�##�#N###�#T##
�#/�#j�#####�###R#####�#
#�###�###�#0#�#1#�#B#�#H#�#I#�#Z#�#`#�#a#�#r#�#x#�#y#�#�#�#�#�#�#�#�#�#�#�#�###
#####�#�#�#####'#(###h###S#######,�##+,�#3##W�#####�#########�###�#
#�#�### ######�#�######k#J######l#J#####m#�###�###
+###�#�#�#�#h###�#######P*�#�#�Y+�#�M�#�Y*�#��#�N�#oY*�#s#
�#y�#|:#�#�Y,�#�:#�#�:#####�#:###-##�##,�##�#####�###2#
###�###�##�###�#!#�#&#�#+#�#5#�#:#�#C#�#K#�#O#�#�###R#####P#�#�#####P#�#####
#C#�#######7#######+#%#�#####5#########:#########C#
###########$###h###�#######�*�#��#��#{*�#�#\�#"##L+*�#�*�#��#��#�##�#3##W+#**�#��#�
�# ##��####��#�##+##�*�#��#��# ##��####��#�##+##�*�#��#��#
##��####��#�##+�#�#####�###:#####�#
+#�###�###�#'#�#-
#�#H#�#\#�#_#�#d#�#x#�#{#�#�#�#�#�#�#########�#�#�#####l#[#J#####U#V###h###�#######
p+�#n*�#�+�#�##�#�##�#�*�#�+#*�#�####��#��###�###�#�*�#�+##��#�####��#��###�###�#�*
�#�+##��#�####��#��###�###�#�#####�###2#
###�###�###�#"#�#+#�#3#�#7#�#F#�#Q#�#U#�#d#�#o#�#�#########p#�#�#####p#[#J#####+#$#
##h###�#######;*�#�#Y�#"##L+##�*�#��#Ǹ#͹#�##+*�#�*�#��#и#͹#�##�#3##W+�#####�###&#
###�#
#�##�###�###�###�#$#�#+#�#9#�#�#########;#�#�###
#/#X#J#####Y#V###h###u#######)*�#�+##ù#�##�#Զ#�*�#�+�#�##�#�##�#Զ# ۱#####�##########
#####
###########"###(###�#########)#�#�#####)#[#J#####4#$###h###t#######4*�#�#M�#"##L+##
�*�#��#�#͹#�##+##�*�#��#�#͹#�##+�#####�##########
#######2###�#########4#�#�###
#(#L#J#####\#V###h###o#######'*�#�+##‫ݹ‬#�##�#Զ#�*�#�+##�#�##�#Զ#�#####�#############
########## ###&###�#########'#�#�#####'#L#J#####7#$###h###�#######f*�#�#!
�#"##L+*�#�#3##W+*�#�#3##W+*�#�#3##W+*�#�#3##W+*�#�#3##W+*�#�#3##W+*�##�#3##W+*�##�
#3##W+�#####�###*#
+###$#
#)###+#"#,#-#-#8#.#C#/#N#0#Y#1#d#3#�#########f#�#�###
#Z# #J#####_#V###h###=#######�*+#9�#####�#T##�#/�##*+#_�#####�#T##�#/�#
+*+#*�#####�#T##�#/�#*+#?
�#####�#T##�#/�##*+#'�#####�#T##�#/�##*+#D�#####�#T##�#/�##*+#G�#####�#T##�#/�##*+#
J�#####�#T##�#/�##�#####�###f#####8###9###8###:###;#$#:#*#<#+#=#9#<#?#>#@#?
#N#>#T#@#U#A#c#@#i#B#j#C#x#B#~#D##E#�#D#�#F#�#G#�#F#�#H#�#########�#�#�#####�#
#J#####�#$###h###�#######Z*�#�#9�#"##L+###*�#��#!�#�##+#####%�#�##+##'##
%�#�##+##)##+�#�##+##-##/�#�##+##1##/�#�##+�#####�###"#####c#
#e###f#(#g#4#h#@#i#L#j#X#l#�#########Z#�#�###
#N#8#J#######V###h###Q########+�##*�#�+###�#�##�#4�#####�#########q###s###u#�######
#####�#�#######8#J#####�#$###h###E########**�#��#7*�#��#:�#=�#####�#########~#####
#~#�###
#######�#�#####�#;###h###�#######@*�#�#_�#"##:#+##?
�######A##C�#�##�######A+�#�######E(�#͹#�####�#####�#########�#
#�###�#$#�#/#�#=#�#�###*#####@#�#�#####@#@#######@#D#F###
#3#^#J#######V###h###]########*�#�+##A�#�##�#I*�#�*+�#M�#P�#####�#########�###�###�
###�#�###########�#�#######^#J#####J#K###h###A#######
+##E�#�##�#ԯ#####�#########�#�##########�#�######^#J#####�#$###h###a#######
%*�#�#*�#"##L+*�#�*�#��#S�#�##�#3##W+�#####�#########�#
#�###�#�#########%#�#�###
###)#J#######V###h###K########*�#�+�#�##�#�##�#V�#####�###
+#####�###�#�###########�#�#######)#J#####�#$###h##########7*�#�#?
�#"##L+*�#�*�#��#Y�#�##�#3##W+#A*�#��#\�#a�#�##+�#####�#########�#
#�###�#&#�#-#�#5#�#�#########7#�#�###
#+#>#J#######V###h###i#######
%*�#�+�#�##�#�##�#d*�#�+#A�#�##�#g�#k�#####�#########�###�###�###�#$#�#�#########
%#�#�#####%#>#J#####�#$###h###a#######
%*�#�#'�#"##L+*�#�*�#��#n�#�##�#3##W+�#####�#########�#
#�###�#�#########%#�#�###
###o#J#######V###h###K########*�#�+�#�##�#�##�#r�#####�###
+#####�###�#�###########�#�#######o#J#####�#$###h###i#######
%*�#�#D�#"##L+*�#�*�#��#u�#�##�#3##W+�#####�#########�#
#�##�###�###�#�#########%#�#�###
###v#J#######V###h###K########*�#�+�#�##�#�##�#y�#####�###
+#####�###�#�###########�#�#######v#J#####�#$###h###i#######
%*�#�#G�#"##L+*�#�*�#��#|�#�##�#3##W+�#####�#########�#
#�##�###�###�#�#########%#�#�###
###F#J#######V###h###K########*�#�+�#�##�#�##�#�#####�###
+#####�###�#�###########�#�#######F#J#######$###h###i#######
%*�#�#J�#"##L+*�#�*�#��#��#�##�#3##W+�#####�#########�#
##############�#########%#�#�###
###I#J#######V###h###K########*�#�+�#�##�#�##�#��#####�###
+######### #�###########�#�#######I#J#####:#$###h###
#######�*�#�##�#"##L+**�#��#��#��#3##W+**�#��#��#��#3##W**�#��#��#��##+**�#��#��#��
#3##W�##+##�*�#��#��#��#�##+**�#��#��#��#3##W+##�*�#��#��#a�#�##+�#####�###R#######
###################0###>###@###J###S###W###a###f# #h#!#r# #x###|
#$#�###�#&#�#########�#�#�###
#�###J#####b#V###h###�#######=*�#�*+�#��#�*�#�*+�#��#�*�#�*+�#��#�*�#�*+�#¶#�*�#�*+
�#ɶ#̱
#####�#########+###,#
#-###.#$#/#0#0#<#1#�#########=#�#�#####=###J#####F#$###h###�#
#####�*�#�##�#"##L+**�#��#:*�#��#�*�#��#ҷ#չ#3##W+**�#��#3#��#‫ط‬##W**�#��#۷#��##+**�
#��#۷#��#3##W�##+##�*�#��#۶#��#�##+**�#��#3#��#޷##W+**�#��#�#�#3##W+**�#��#�*�#��#
�*�#��#�*�#��#�*�#��#�*�#��#�#�#3##W+##�*�#��#�#a�#�##+�#####�###v#####5#
#7###8###9#&#7#,#:#>#<#L#=#N#>#X#=#a#@#e#A#o#@#t#C#�#D#�#E#�#F#�#E#�#G#�#H#�#I#�#J#
�#K#�#L#�#G#�#N#�#O#�#N#�#Q#�#########�#�#�###
#�#�#J#####h#V###h###Q#######�+##�#####�#T##�#/M*�#�*+�#��#P*�#�*+�##�##*�#�*+�##�#
+*�#�*+�#��#*�#�*+�#��##*�#�*+�#¶##*�#�*+�##�##*�#�*,�##�##*�#�*,�#"�#
%*�#�*,�#(�#+*�#�*,�#.�#1*�#�*,�#4�#7*�#�*,�#:�#=�#####�###j#####X###Y###X###Y###X#
##[###\###]#*#^#.#_#6#`#B#a#N#b#Z#c#f#d#j#e#r#f#v#g#~#h#�#i#�#j#�#k#�#l#�#m#�#n#�#o
#�###
#####�#�#�#####�###J#####�###J#####C#$###h###E#######�*�#�##�#"##L+**�#��#@*�#��#C*
�#��#F�#չ#3##W+**�#��#I�#��#3##W**�#��#L�#��##+**�#��#L�#��#3##W�##+##�*�#��#L�#��#
�##+**�#��#O�#��#3##W+**�#��#R�#�#3##W+##�*�#��#B�#a�#�##+�#####�###j#####s#
#u##v###w###x###y###v#,#z#-
#{#>#}#L#~#N##X#~#a#�#e#�#o#�#t#�#v#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#########�#
�#�###
#�###J#####e#V###h###�#######e+�#c*�#�*+�#��#U*�#�*+�##�#X*�#�*+�##�#[*�#�*+�#��#^*
�#�*+�#��#a*�#�*+�#¶#d*�#�*+�##�#g*�#�*+�#ɶ#j�#####�###>#####�###�###�###�###�###�#
#�#(#�#4#�#@#�#D#�#L#�#P#�#X#�#d#�#�#########e#�#�#####e###J#####�#�###h###o#######
!*�#�#3�#"##N-**�#��#7'�#=�#3##W-�#####�#########�###�###�#
#�###�#�### #####!#�#�#####!#D#F###
###2#J#####�#�###h###A#######+##��#�##�#g�#####�#########�#�##########�#�#####
#�#J#####�#K###h###V########**+�#n#_�#####�#T##�#/�#M�#####�#########�###�###�#�###
########�#�#######�#J#####k#l###h###V########+#3�#####�#T##�#/�#####�#########�###�
###�###�###�#�###########�#�#######�#J#####�#�###h###{########*'�#�:###*-
##�#q�#3##W##�#####�#########�###�###�###�###�#�###4#######�#�#######D#F###########
######r#F#######2#J#####o#;###h###�#######3*�#�#$�#"##:###*�#�+�#��#�##�#3##W####t(
�#͹#�####�#####�#########�##�#"#�#0#�#�###*#####3#�#�#####3#u#######3#s#F###
#&#v#J#####�#�###h###`########+#$�#####�#T##�#/�#�##�#�##�#####�#########�###�#

#�###�###�#�###########�#�#######�#J#######K###h###i########+#$�#####�#T##�#/##t�#�
##�#ԯ#####�#########�###�###�###�###�###�###�#�###########�#�#######�#J#####�#�###h
###p#######"*�#�#0�#"##N-*�#�'�#͹#�##�#3##W-�#####�#########�#
#�#######�# ###�### #####"#�#�#####"#/#F###
###w#J#####�#K###h###X########+#0�#####�#T##�#x##�#�##�#ԯ#####�###################�
###########�#�#######�#J#####�#�###h##########'#=#>�###+*�#�#2�###�###�=�###*�#���
��#�#####�#######################%###�###*#####'#�#�#####'#########%#y#z#####!#{#|
#####�# ###h###i#######�*�#�#
�#"##M#J#9#+*�#�#2�##*�#��#�##}oJ*�#��#�##}o9#�#`+*�#�#2�###\9#J�#N+*�#�#2�###J*�#�
�#�9#�#6+*�#�#2�##*�#��#�J#9#�##+*�#�#2�##*�#��#�J*�#��#�9#,###)�#͹#�##,##'##�#͹#�#
#,##)##��#�##,##�+�#�##,�#####�###V#####!#
#"###'###)#'#*#7#,#A#.#I#0#S#2#U#3#a#5#k#7#s#8#y#:#�#<#�#=#�#@#�#A#�#B#�#C#�#E#�###
4#####�#�#�#####�#�#####
#�###J#####�#"#F#####�#&#F#####�#�###h###�#######G+#
�#####�#T##�#/M,�#*+#
�#####�#T##�#/##��#�##N-�#
-##��##-
�+##��#�##�#####�###B#####L###M###L###M###L###O###S###T###S###T#$#S#'#U#/#S#0#W#;#X
#=#[#�###*#####G#�#�#####G#�#J#####5#�#J###0##�#######�#
###h###e########*�#�##�#"##M,*�#�+�#�##�#3##W,�#####�#########`#
#b###d#�### #######�#�#############
###�#J#####�#�###h###U########+##�#####�#T##�#x##�#�##�#####�#########i###j###i#�##
#########�#�#######�#J#####�#
###h###e########*�#�#<�#"##M,*�#�+�#�##�#3##W,�#####�#########o#
#q###s#�### #######�#�#######u#####
###;#J#######�###h###U########+#<�#####�#T##�#x##�#�##�#####�#########x###y###x#�##
#########�#�#######�#J#####�#�###h###########�*�#�##�#"##:#*�#�#P�#"##:
*�#�#S�#"##:*�#�##�#"##:#*�#�#V�#"##:#*�#�#-�#"##:##
*�#�(�#͹#�##�#3##W#
*�#�##�#��#�##�#3##W##*�#�##�#͹#�##�#3##W##*�#�##�#͹#�##�#3##W##*�#�#
�#͹#�##�#3##W###
�#3##W###�#3##W####�#3##W####�#3##W####�#3##W####�+�#�####�#####�###j#####�#
#�###�###�###�#'#�#4#�#A#�#N#�#T#�#]#�#c#�#y#�##�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#
�#�#�#�#�#�#�#�#�###�#
###�#�#�#####�#u#######�#O#F#####�#R#######�###F#####�#U#F#####�#,#F# #
#�###J#####�#�#J#
#'#�#�#J##4#�#�#J###A#�#�#J###N#�#�#J#######�###h###>#######
++##��#�##�#####�#########�#�#########
+#�#�#####
+###J#####
#K###h###`########+#P�#####�#T##�#x##�#�##�#ԯ#####�#########�###�###�###�###�#�####
#######�#�#########J#####&#�###h###U########+#S�#####�#T##�#x##�#�##�#####�########
#�###�###�#�###########�#�#########J#####,#K###h###`########+##�#####�#T##�#x##�#�#
#�#ԯ#####�#########�###�###�###�###�#�###########�#�#########J#####2#K###h###`#####
###+#V�#####�#T##�#x##�#�##�#ԯ#####�#########�###�###�###�###�#�###########�#�#####
####J#####8#K###h###`########+#-
�#####�#T##�#x##�#�##�#ԯ#####�#########�###�###�###�###�#�###########�#�#########J#
####�#####�
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-
2.29/mannasim/scriptGeneratorTool/xml2tcl/Translator.java ns-allinone-2.29-
mannasim/ns-2.29/mannasim/scriptGeneratorTool/xml2tcl/Translator.java
--- ns-allinone-2.29/ns-2.29/mannasim/scriptGeneratorTool/xml2tcl/Translator.java
1969-12-31 21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-
2.29/mannasim/scriptGeneratorTool/xml2tcl/Translator.java 2006-05-26
11:25:44.000000000 -0300
@@ -0,0 +1,958 @@
+package xml2tcl;
+
+import gui.TclFields;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+
+/**
+ * This class translates the TclFields from and to an XML document. It also
+ * exports those fields to a TCL script for NS-2.
+ *
+ * @author Júlio César e Melo
+ * @since Nov. 2005
+ * @version 0.1
+ *
+ * This version doesn't work well with antenna settings.
+ */
+public class Translator
+{
+ private final String xsltFileName = "mannasim-tcl.xsl";
+ private final String absolutePositionElement = "position";
+ private final String accessPointElement = "accessPoint";
+ private final String applicationElement = "application";
+ private final String avgMeasureElement = "avgMeasure";
+ private final String clusterHeadElement = "clusterHead";
+ private final String commonNodeElement = "commonNode";
+ private final String dataGeneratorElement = "dataGenerator";
+ private final String defaultNetworkElement = "defaultNetwork";
+ private final String disseminatingElement = "disseminatingType";
+ private final String linkLayerElement = "linkLayer";
+ private final String macLayerElement = "mac";
+ private final String maximumDataElement = "max";
+ private final String nodeEnergyElement = "energy";
+ private final String nodeNetworkArchitectureElement = "network";
+ private final String omniAntennaElement = "omniAntenna";
+ private final String antennaElement = "antenna";
+ private final String processingElement = "processing";
+ private final String queueElement = "queue";
+ private final String queueLengthAttribute = "queueLengthAttribute";
+ private final String routingProtocolElement = "routingProtocol";
+ private final String propagationElement = "propagation";
+ private final String energyModelElement = "energyModel";
+ private final String scenarioElement = "scenario";
+ private final String sensingIntervalElement = "sensingInterval";
+ private final String sensingTypeElement = "sensingType";
+ private final String stdDeviationElement = "stdDeviation";
+ private final String timeElement = "time";
+ private final String traceElement = "trace";
+ private final String wirelessPhyElement = "wirelessPhy";
+
+ // Before chaning this, see createAbsolutePosition().
+ private final String[] absolutePositions = new String[] { "CENTER",
+ "UP LEFT CORNER", "DOWN LEFT CORNER", "UP RIGHT CORNER",
+ "DOWN RIGHT CORNER", };
+
+ /*
+ * private final String [] distributedPositions = new String [] { "GRID",
+ * "RANDOM" };
+ */
+
+ private TclFields fields;
+
+ private Document document;
+
+ public Translator(TclFields tclFields)
+ {
+ this.fields = tclFields;
+ document = null;
+ }
+
+ public void open(File file) throws SAXException, IOException,
+ ParserConfigurationException
+ {
+ DocumentBuilderFactory documentFactory = DocumentBuilderFactory
+ .newInstance();
+ DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();
+
+ document = documentBuilder.parse(file);
+
+ importDocument();
+ }
+
+ public void save(String fileName) throws FileNotFoundException,
+ TransformerConfigurationException, TransformerException,
+ IOException, ParserConfigurationException
+ {
+ createDocument();
+
+ FileOutputStream outputFile = new FileOutputStream(fileName);
+ Source xmlSource = new DOMSource(document);
+ Result result = new StreamResult(outputFile);
+ TransformerFactory transFactory = TransformerFactory.newInstance();
+ Transformer transformer = transFactory.newTransformer();
+
+ transformer.transform(xmlSource, result);
+
+ outputFile.close();
+ }
+
+ /**
+ * Create Xml document.
+ */
+ private void createDocument() throws ParserConfigurationException
+ {
+ DocumentBuilderFactory documentFactory = DocumentBuilderFactory
+ .newInstance();
+ DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();
+ Element simulation;
+
+ document = documentBuilder.newDocument();
+
+ simulation = document.createElement("simulation");
+
+ appendChildIfNotNull(simulation, createTrace());
+ simulation.appendChild(createTime());
+ simulation.appendChild(createScenario());
+ simulation.appendChild(createDefaultNetwork());
+ simulation.appendChild(createAccessPoint());
+
+ if (fields.getClusterHeadNumber() > 0)
+ simulation.appendChild(createClusterHead());
+
+ simulation.appendChild(createCommonNode());
+
+ document.appendChild(simulation);
+ }
+
+ private void importDocument()
+ {
+ importTrace((Element) document.getElementsByTagName(traceElement).item(
+ 0));
+ importTime((Element) document.getElementsByTagName(timeElement).item(0));
+ importScenario((Element) document.getElementsByTagName(scenarioElement)
+ .item(0));
+ importDefaultNetwork((Element) document.getElementsByTagName(
+ defaultNetworkElement).item(0));
+ importAccessPoint((Element) document.getElementsByTagName(
+ accessPointElement).item(0));
+ importClusterHead((Element) document.getElementsByTagName(
+ clusterHeadElement).item(0));
+ importCommonNode((Element) document.getElementsByTagName(
+ commonNodeElement).item(0));
+ }
+
+ private void appendChildIfNotNull(Element root, Element child)
+ {
+ if (child != null)
+ root.appendChild(child);
+ }
+
+ /**
+ * Translate a xml document to tcl.
+ *
+ * @param outputFileName
+ * Tcl script for ns.
+ *
+ * @throws TransformerException
+ */
+ public void export(String outputFileName) throws TransformerException,
+ FileNotFoundException, IOException, ParserConfigurationException
+ {
+ createDocument();
+
+ FileOutputStream outputStream = new FileOutputStream(outputFileName);
+ Source xmlSource = new DOMSource(document);
+ Source xsltSource = new StreamSource(getClass().getResourceAsStream(
+ xsltFileName));
+ Result result = new StreamResult(outputStream);
+ TransformerFactory transFactory = TransformerFactory.newInstance();
+ Transformer transformer = transFactory.newTransformer(xsltSource);
+
+ transformer.transform(xmlSource, result);
+
+ outputStream.close();
+ }
+
+ /**
+ * Create trace element.
+ *
+ * Xml path: /simulation/trace
+ */
+ private Element createTrace()
+ {
+ if (fields.isTraceFile())
+ {
+ Element trace = document.createElement(traceElement);
+
+ trace.appendChild(document
+ .createTextNode(fields.getTraceFileName()));
+
+ trace.setAttribute("mac", fields.isTraceMac() ? "true" : "false");
+ trace.setAttribute("agent", fields.isTraceAgent() ? "true"
+ : "false");
+ trace.setAttribute("router", fields.isTraceRoute() ? "true"
+ : "false");
+
+ return trace;
+ }
+ else
+ return null;
+ }
+
+ private void importTrace(Element trace)
+ {
+ if (trace != null)
+ {
+ fields.setTraceFileName(trace.getFirstChild().getNodeValue());
+ fields.setTraceMac(trace.getAttribute("mac").compareToIgnoreCase(
+ "true") == 0);
+ fields.setTraceAgent(trace.getAttribute("agent")
+ .compareToIgnoreCase("true") == 0);
+ fields.setTraceRoute(trace.getAttribute("router")
+ .compareToIgnoreCase("true") == 0);
+ }
+ }
+
+ /**
+ * Create time element.
+ *
+ * Xml path: /simulation/time
+ */
+ private Element createTime()
+ {
+ Element time = document.createElement(timeElement);
+
+ time
+ .setAttribute("start", Double.toString(fields
+ .getSimulationStart()));
+ time.appendChild(document.createTextNode(Double.toString(fields
+ .getSimulationStop())));
+
+ return time;
+ }
+
+ private void importTime(Element trace)
+ {
+ fields.setSimulationStart(Double.parseDouble(trace
+ .getAttribute("start")));
+ fields.setSimulationStop(Double.parseDouble(trace.getFirstChild()
+ .getNodeValue()));
+ }
+
+ /**
+ * Create scenario element from ScenarioX and ScenarioY.
+ *
+ * Xml path: /simulation/scenario
+ */
+ private Element createScenario()
+ {
+ Element scenario = document.createElement(scenarioElement);
+
+ scenario.setAttribute("width", Double.toString(fields.getScenarioX()));
+ scenario.setAttribute("height", Double.toString(fields.getScenarioY()));
+
+ return scenario;
+ }
+
+ private void importScenario(Element scenario)
+ {
+ fields.setScenarioX(Double.parseDouble(scenario.getAttribute("width")));
+ fields
+ .setScenarioY(Double.parseDouble(scenario
+ .getAttribute("height")));
+ }
+
+ /**
+ * Create a default network settings.
+ *
+ * Xml path: /simulation/defaultNetwork
+ */
+ private Element createDefaultNetwork()
+ {
+ Element defaultNetwork = document.createElement(defaultNetworkElement);
+
+// if (fields.getAntenna().compareToIgnoreCase("Antenna/OmniAntenna") == 0)
+// defaultNetwork.appendChild(createOmniAntenna());
+// else
+ defaultNetwork.appendChild(createAntenna());
+
+ defaultNetwork.appendChild(createWirelessPhy());
+ defaultNetwork.appendChild(createMacLayer());
+ defaultNetwork.appendChild(createQueue());
+ defaultNetwork.appendChild(createLinkLayer());
+ defaultNetwork.appendChild(createRoutingProtocol());
+ defaultNetwork.appendChild(createPropagation());
+ defaultNetwork.appendChild(createEnergyModel());
+
+ return defaultNetwork;
+ }
+
+ private void importDefaultNetwork(Element defaultNetwork)
+ {
+ importAntenna((Element) defaultNetwork.getElementsByTagName(
+ antennaElement).item(0));
+ importWirelessPhy((Element) defaultNetwork.getElementsByTagName(
+ wirelessPhyElement).item(0));
+ importMacLayer((Element) defaultNetwork.getElementsByTagName(
+ macLayerElement).item(0));
+ importQueue((Element) defaultNetwork.getElementsByTagName(queueElement)
+ .item(0));
+ importLinkLayer((Element) defaultNetwork.getElementsByTagName(
+ linkLayerElement).item(0));
+ importRoutingProtocol((Element) defaultNetwork.getElementsByTagName(
+ routingProtocolElement).item(0));
+ importPropagation((Element) defaultNetwork.getElementsByTagName(
+ propagationElement).item(0));
+ importEnergyModel((Element) defaultNetwork.getElementsByTagName(
+ energyModelElement).item(0));
+ }
+
+// /**
+// * Create an omni antenna.
+// *
+// * Xml path: /simulation/defaultNetwork/omniAntenna
+// */
+// private Element createOmniAntenna()
+// {
+// Element omniAntenna = document.createElement(omniAntennaElement);
+//
+// omniAntenna.setAttribute("x", "0");
+// omniAntenna.setAttribute("y", "0");
+// omniAntenna.setAttribute("z", "1.5");
+// omniAntenna.setAttribute("gt", "1.0");
+// omniAntenna.setAttribute("gr", "1.0");
+//
+// return omniAntenna;
+// }
+
+ /**
+ * Create an antenna.
+ *
+ * Xml path: /simulation/defaultNetwork/antenna
+ */
+ private Element createAntenna()
+ {
+ Element antenna = document.createElement(antennaElement);
+
+ antenna.setAttribute("name", fields.getAntenna());
+ antenna.setAttribute("x", "0");
+ antenna.setAttribute("y", "0");
+ antenna.setAttribute("z", "1.5");
+ antenna.setAttribute("gt", "1.0");
+ antenna.setAttribute("gr", "1.0");
+
+ return antenna;
+ }
+
+ private void importAntenna(Element antenna)
+ {
+ if (antenna != null)
+ {
+ fields.setAntenna(antenna.getAttribute("name"));
+ }
+ }
+
+ /**
+ * Create a wireless phy based on profile.
+ *
+ * Xml path: /simulation/defaultNetwork/wirelessPhy
+ */
+ private Element createWirelessPhy()
+ {
+ return createWirelessPhy(fields.getPhyLayer(), fields
+ .getCommonNodeTransmissionRange());
+ }
+
+ private Element createWirelessPhy(String profile, double range)
+ {
+ Element wirelessPhy = document.createElement(wirelessPhyElement);
+
+ if (profile == "Phy/WirelessPhy - Mica2")
+ wirelessPhy.setAttribute("profile", "mica2");
+ else
+ wirelessPhy.setAttribute("profile", profile);
+
+ wirelessPhy.setAttribute("range", Double.toString(range));
+
+ return wirelessPhy;
+ }
+
+ private void importWirelessPhy(Element wirelessPhy)
+ {
+ fields.setPhyLayer(wirelessPhy.getAttribute("profile"));
+ fields
+
.setCommonNodeTransmissionRange(importWirelessPhyRange(wirelessPhy));
+ }
+
+ private double importWirelessPhyRange(Element wirelessPhy)
+ {
+ return Double.parseDouble(wirelessPhy.getAttribute("range"));
+ }
+
+ /**
+ * Create a mac.
+ *
+ * Xml path: /simulation/defaultNetwork/mac
+ */
+ private Element createMacLayer()
+ {
+ Element mac = document.createElement(macLayerElement);
+
+ mac.appendChild(document.createTextNode(fields.getMacLayer()));
+
+ return mac;
+ }
+
+ private void importMacLayer(Element mac)
+ {
+ fields.setMacLayer(mac.getFirstChild().getNodeValue());
+ }
+
+ /**
+ * Create a queue.
+ *
+ * Xml path: /simulation/defaultNetwork/queue
+ */
+ private Element createQueue()
+ {
+ Element queue = document.createElement(queueElement);
+
+ queue.appendChild(document.createTextNode(fields.getIfq()));
+ queue.setAttribute(queueLengthAttribute, Integer.toString(fields
+ .getIfqLen()));
+
+ return queue;
+ }
+
+ private void importQueue(Element queue)
+ {
+ fields.setIfq(queue.getFirstChild().getNodeValue());
+ fields.setIfqLen(Integer.parseInt(queue
+ .getAttribute(queueLengthAttribute)));
+ }
+
+ /**
+ * Create link layer.
+ *
+ * Xml path: /simulation/defaultNetwork/link
+ */
+ private Element createLinkLayer()
+ {
+ Element link = document.createElement(linkLayerElement);
+
+ link.appendChild(document.createTextNode(fields.getLinkLayer()));
+
+ return link;
+ }
+
+ private void importLinkLayer(Element link)
+ {
+ fields.setLinkLayer(link.getFirstChild().getNodeValue());
+ }
+
+ /**
+ * Create routing protocol.
+ *
+ * Xml path: /simulation/defaultNetwork/routingProtocol
+ */
+ private Element createRoutingProtocol()
+ {
+ Element routing = document.createElement(routingProtocolElement);
+
+ routing.appendChild(document
+ .createTextNode(fields.getRoutingProtocol()));
+
+ return routing;
+ }
+
+ private void importRoutingProtocol(Element routing)
+ {
+ fields.setRoutingProtocol(routing.getFirstChild().getNodeValue());
+ }
+
+ private Element createPropagation()
+ {
+ Element propagation = document.createElement(propagationElement);
+
+ propagation.appendChild(document
+ .createTextNode(fields.getPropagation()));
+
+ return propagation;
+ }
+
+ private void importPropagation(Element propagation)
+ {
+ fields.setPropagation(propagation.getFirstChild().getNodeValue());
+ }
+
+ private Element createEnergyModel()
+ {
+ Element energyModel = document.createElement(energyModelElement);
+
+ energyModel.appendChild(document
+ .createTextNode(fields.getBattery()));
+
+ return energyModel;
+ }
+
+ private void importEnergyModel(Element energyModel)
+ {
+ fields.setBattery(energyModel.getFirstChild().getNodeValue());
+ }
+
+ /**
+ * Creates an access point.
+ *
+ * Xml path: /simulation/accessPoint
+ */
+ private Element createAccessPoint()
+ {
+ Element accessPoint = document.createElement(accessPointElement);
+
+ accessPoint.appendChild(createNodeNetwork(fields
+ .getAccessPointTransmissionRange()));
+ accessPoint
+ .appendChild(createNodeEnergy(fields.getAccessPointEnergy()));
+
+ if (isAbsolutePosition(fields.getAccessPointLocation()))
+ accessPoint.appendChild(createAbsolutePositon(fields
+ .getAccessPointLocation()));
+ else
+ accessPoint.setAttribute("distribution", fields
+ .getAccessPointLocation().toLowerCase());
+
+ accessPoint.appendChild(createApplication(fields
+ .getAccessPointApplication()));
+
+ accessPoint.setAttribute("times", Integer.toString(fields
+ .getAccessPointNumber()));
+
+ return accessPoint;
+ }
+
+ private void importAccessPoint(Element accessPoint)
+ {
+ fields
+
.setAccessPointTransmissionRange(importNodeTransmissionRange(accessPoint));
+ fields.setAccessPointEnergy(importNodeEnergy(accessPoint));
+ fields.setAccessPointLocation(importNodePosition(accessPoint));
+ fields.setAccessPointApplication(importNodeApplication(accessPoint));
+ fields.setAccessPointNumber(importNodeTimes(accessPoint));
+ }
+
+ private Element createCommonNode()
+ {
+ Element node = document.createElement(commonNodeElement);
+
+ node.appendChild(createNodeNetwork(fields
+ .getCommonNodeTransmissionRange(), fields
+ .getCommonNodeDissType(), fields.getCommonNodeDissInterval()));
+ node.appendChild(createNodeEnergy(fields.getCommonNodeEnergy()));
+
+ if (isAbsolutePosition(fields.getCommonNodeLocation()))
+ node.appendChild(createAbsolutePositon(fields
+ .getCommonNodeLocation()));
+ else
+ node.setAttribute("distribution", fields.getCommonNodeLocation()
+ .toLowerCase());
+
+ node.appendChild(createApplication(fields.getCommonNodeApplication()));
+ node
+ .appendChild(createProcessing(fields
+ .getCommonNodeProcessingType()));
+ node.appendChild(createDataGenerator(fields
+ .getCommonNodeDataGeneratorType(), fields
+ .getCommonNodeSensingInterval(), fields
+ .getCommonNodeSensingType(), fields.getCommonNodeDataAverage(),
+ fields.getCommonNodeDataDeviation(), fields
+ .getCommonNodeMaximumData()));
+
+ node.setAttribute("times", Integer.toString(fields
+ .getCommonNodeNumber()));
+
+ return node;
+ }
+
+ private void importCommonNode(Element commonNode)
+ {
+ Element dataGenerator;
+
+ dataGenerator = (Element) commonNode.getElementsByTagName(
+ dataGeneratorElement).item(0);
+
+ fields
+
.setCommonNodeTransmissionRange(importNodeTransmissionRange(commonNode));
+ fields.setCommonNodeDissType(importNodeDisseminatingType(commonNode));
+ fields
+
.setCommonNodeDissInterval(importNodeDisseminatingInterval(commonNode));
+ fields.setCommonNodeEnergy(importNodeEnergy(commonNode));
+ fields.setCommonNodeLocation(importNodePosition(commonNode));
+ fields.setCommonNodeApplication(importNodeApplication(commonNode));
+ fields.setCommonNodeProcessingType(importNodeProcessing(commonNode));
+ fields
+
.setCommonNodeDataGeneratorType(importDataGeneratorType(dataGenerator));
+ fields
+
.setCommonNodeSensingInterval(importDataGeneratorSensingInterval(dataGenerator));
+ fields
+
.setCommonNodeSensingType(importDataGeneratorSensingType(dataGenerator));
+ fields
+
.setCommonNodeDataAverage(importDataGeneratorAvgMeasure(dataGenerator));
+ fields
+
.setCommonNodeDataDeviation(importDataGeneratorStdDeviation(dataGenerator));
+ fields.setCommonNodeMaximumData(importDataGeneratorMax(dataGenerator));
+ }
+
+ private Element createClusterHead()
+ {
+ Element clusterHead = document.createElement(clusterHeadElement);
+
+ clusterHead
+ .appendChild(createNodeNetwork(fields
+ .getClusterHeadTransmissionRange(), fields
+ .getClusterHeadDissType(), fields
+ .getClusterHeadDissInterval()));
+ clusterHead
+ .appendChild(createNodeEnergy(fields.getClusterHeadEnergy()));
+
+ if (isAbsolutePosition(fields.getClusterHeadLocation()))
+ clusterHead.appendChild(createAbsolutePositon(fields
+ .getClusterHeadLocation()));
+ else
+ clusterHead.setAttribute("distribution", fields
+ .getClusterHeadLocation().toLowerCase());
+
+ clusterHead.appendChild(createApplication(fields
+ .getClusterHeadApplication()));
+ clusterHead.appendChild(createProcessing(fields
+ .getClusterHeadProcessingType()));
+
+ clusterHead.setAttribute("times", Integer.toString(fields
+ .getClusterHeadNumber()));
+
+ return clusterHead;
+ }
+
+ private void importClusterHead(Element clusterHead)
+ {
+ if (clusterHead != null)
+ {
+ fields
+
.setClusterHeadTransmissionRange(importNodeTransmissionRange(clusterHead));
+ fields
+
.setClusterHeadDissType(importNodeDisseminatingType(clusterHead));
+ fields
+
.setClusterHeadDissInterval(importNodeDisseminatingInterval(clusterHead));
+ fields.setClusterHeadEnergy(importNodeEnergy(clusterHead));
+ fields.setClusterHeadLocation(importNodePosition(clusterHead));
+ fields
+
.setClusterHeadApplication(importNodeApplication(clusterHead));
+ fields
+
.setClusterHeadProcessingType(importNodeProcessing(clusterHead));
+ fields.setClusterHeadNumber(importNodeTimes(clusterHead));
+ }
+ }
+
+ /**
+ * Creates a node network architecture.
+ */
+ private Element createNodeNetwork(double range)
+ {
+ Element network = document
+ .createElement(nodeNetworkArchitectureElement);
+
+ network.appendChild(createWirelessPhy(fields.getPhyLayer(), range));
+
+ return network;
+ }
+
+ private int importNodeTimes(Element node)
+ {
+ return Integer.parseInt(node.getAttribute("times"));
+ }
+
+ /**
+ * Imports the radio range from a node.
+ *
+ * @param node
+ * AccessPoint, ClusterHead or CommonNode XML element.
+ *
+ * @return Radio range.
+ */
+ private double importNodeTransmissionRange(Element node)
+ {
+ return importWirelessPhyRange((Element) getNodeNetwork(node)
+ .getElementsByTagName(wirelessPhyElement).item(0));
+ }
+
+ private Element getNodeNetwork(Element node)
+ {
+ return (Element) node.getElementsByTagName(
+ nodeNetworkArchitectureElement).item(0);
+ }
+
+ /**
+ * Creates a node network architecture.
+ */
+ private Element createNodeNetwork(double range, String disseminatingType,
+ double disseminatingInterval)
+ {
+ Element network = createNodeNetwork(range);
+
+ network.appendChild(createDisseminating(disseminatingType,
+ disseminatingInterval));
+
+ return network;
+ }
+
+ private Element createDisseminating(String type, double interval)
+ {
+ Element disseminating = document.createElement(disseminatingElement);
+
+ disseminating.appendChild(document.createTextNode(type.toLowerCase()));
+ disseminating.setAttribute("interval", Double.toString(interval));
+
+ return disseminating;
+ }
+
+ /**
+ * Imports node disseminating type.
+ *
+ * @param node
+ * AccessPoint, ClusterHead or CommoNode XML element.
+ *
+ * @return Disseminating type.
+ */
+ private String importNodeDisseminatingType(Element node)
+ {
+ return ((Element) node.getElementsByTagName(disseminatingElement).item(
+ 0)).getFirstChild().getNodeValue();
+ }
+
+ private double importNodeDisseminatingInterval(Element node)
+ {
+ return Double.parseDouble(((Element) node.getElementsByTagName(
+ disseminatingElement).item(0)).getAttribute("interval"));
+ }
+
+ /**
+ * Creates a node initial energy.
+ *
+ * @param energy
+ * Initial energy.
+ */
+ private Element createNodeEnergy(double energy)
+ {
+ Element energyElement = document.createElement(nodeEnergyElement);
+
+ energyElement.appendChild(document.createTextNode(Double
+ .toString(energy)));
+
+ return energyElement;
+ }
+
+ private double importNodeEnergy(Element node)
+ {
+ return Double.parseDouble(node.getElementsByTagName(nodeEnergyElement)
+ .item(0).getFirstChild().getNodeValue());
+ }
+
+ /**
+ * Check if the string position is an absolute position.
+ *
+ * @return Returns if "position" is an absolute position.
+ */
+ private boolean isAbsolutePosition(String position)
+ {
+ boolean itIs = false;
+
+ for (int i = 0; i < absolutePositions.length; i++)
+ itIs |= position == absolutePositions[i];
+
+ return itIs;
+ }
+
+ /**
+ * Creates an absolute position based on a string.
+ *
+ * @return Xml absolute position element.
+ */
+ private Element createAbsolutePositon(String strPosition)
+ {
+ Element position = document.createElement(absolutePositionElement);
+ double x = 0, y = 0;
+
+ // "CENTER", "UP LEFT CORNER", "DOWN LEFT CORNER", "UP RIGHT CORNER",
+ // "DOWN RIGHT CORNER",
+
+ if (strPosition == absolutePositions[0]) // Centered
+ {
+ x = fields.getScenarioX() / 2;
+ y = fields.getScenarioY() / 2;
+ }
+ else if (strPosition == absolutePositions[1]) // Top left
+ {
+ x = y = 0;
+ }
+ else if (strPosition == absolutePositions[2]) // Bottom left
+ {
+ x = 0;
+ y = fields.getScenarioY();
+ }
+ else if (strPosition == absolutePositions[3]) // Top right
+ {
+ x = fields.getScenarioX();
+ y = 0;
+ }
+ else if (strPosition == absolutePositions[4]) // Bottom right
+ {
+ x = fields.getScenarioX();
+ y = fields.getScenarioY();
+ }
+
+ position.setAttribute("x", Double.toString(x));
+ position.setAttribute("y", Double.toString(y));
+ position.setAttribute("z", "0.0");
+ position.setAttribute("description", strPosition);
+
+ return position;
+ }
+
+ private String importNodePosition(Element node)
+ {
+ Element absolutePosition;
+
+ absolutePosition = (Element) node.getElementsByTagName(
+ absolutePositionElement).item(0);
+
+ if (absolutePosition != null)
+ {
+ String description;
+
+ description = ((Element) node.getElementsByTagName(
+ absolutePositionElement).item(0))
+ .getAttribute("description");
+
+ if (description != null && description != "")
+ return description;
+ }
+
+ return node.getAttribute("distribution");
+ }
+
+ private Element createApplication(String application)
+ {
+ Element appElement = document.createElement(applicationElement);
+
+ appElement.appendChild(document.createTextNode(application));
+
+ return appElement;
+ }
+
+ private String importNodeApplication(Element node)
+ {
+ return node.getElementsByTagName(applicationElement).item(0)
+ .getFirstChild().getNodeValue();
+ }
+
+ private Element createProcessing(String type)
+ {
+ Element processing = document.createElement(processingElement);
+
+ processing.appendChild(document.createTextNode(type));
+
+ return processing;
+ }
+
+ private String importNodeProcessing(Element node)
+ {
+ return node.getElementsByTagName(processingElement).item(0)
+ .getFirstChild().getNodeValue();
+ }
+
+ private Element createDataGenerator(String type, double sensingInterval,
+ String sensingType, double avgMeasure, double stdDeviation,
+ double max)
+ {
+ Element dataGenerator = document.createElement(dataGeneratorElement);
+ Element eSensingInterval = document
+ .createElement(sensingIntervalElement);
+ Element eSensingType = document.createElement(sensingTypeElement);
+ Element eAvgMeasure = document.createElement(avgMeasureElement);
+ Element eStdDeviation = document.createElement(stdDeviationElement);
+ Element eMax = document.createElement(maximumDataElement);
+
+ eSensingInterval.appendChild(document.createTextNode(Double
+ .toString(sensingInterval)));
+
eSensingType.appendChild(document.createTextNode(sensingType.toLowerCase()));
+ eAvgMeasure.appendChild(document.createTextNode(Double
+ .toString(avgMeasure)));
+ eStdDeviation.appendChild(document.createTextNode(Double
+ .toString(stdDeviation)));
+ eMax.appendChild(document.createTextNode(Double.toString(max)));
+
+ dataGenerator.appendChild(eSensingInterval);
+ dataGenerator.appendChild(eSensingType);
+ dataGenerator.appendChild(eAvgMeasure);
+ dataGenerator.appendChild(eStdDeviation);
+ dataGenerator.appendChild(eMax);
+
+ dataGenerator.setAttribute("type", type);
+
+ return dataGenerator;
+ }
+
+ private String importDataGeneratorType(Element dataGenerator)
+ {
+ return dataGenerator.getAttribute("type");
+ }
+
+ private double importDataGeneratorSensingInterval(Element dataGenerator)
+ {
+ return Double.parseDouble(dataGenerator.getElementsByTagName(
+ sensingIntervalElement).item(0).getFirstChild().getNodeValue());
+ }
+
+ private String importDataGeneratorSensingType(Element dataGenerator)
+ {
+ return dataGenerator.getElementsByTagName(sensingTypeElement).item(0)
+ .getFirstChild().getNodeValue();
+ }
+
+ private double importDataGeneratorAvgMeasure(Element dataGenerator)
+ {
+ return Double.parseDouble(dataGenerator.getElementsByTagName(
+ avgMeasureElement).item(0).getFirstChild().getNodeValue());
+ }
+
+ private double importDataGeneratorStdDeviation(Element dataGenerator)
+ {
+ return Double.parseDouble(dataGenerator.getElementsByTagName(
+ stdDeviationElement).item(0).getFirstChild().getNodeValue());
+ }
+
+ private double importDataGeneratorMax(Element dataGenerator)
+ {
+ return Double.parseDouble(dataGenerator.getElementsByTagName(
+ maximumDataElement).item(0).getFirstChild().getNodeValue());
+ }
+}
\ Falta o caracter nova linha no final do arquivo
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/sensedData.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/sensedData.cc
--- ns-allinone-2.29/ns-2.29/mannasim/sensedData.cc 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/sensedData.cc 2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,173 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class represents sensing applications data. It is derived
+/// from the NS-2 AppData. It includes methods to deal with messages
+/// type, source node identification, message copy, message log
+/// management.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "sensedData.h"
+
+/// Default constructor, message type defined as SENSED_DATA.
+SensedData :: SensedData() : AppData(SENSED_DATA)
+{
+ timestamp_ = Scheduler::instance().clock();
+}
+
+/// Constructor with application data type defined by parameter.
+SensedData :: SensedData(AppDataType type) : AppData(type)
+{
+ timestamp_ = Scheduler::instance().clock();
+}
+
+/// Copy constructor, creates a new SensedData object equals
+/// to data parameter.
+SensedData::SensedData(SensedData &data) : AppData(data)
+{
+ priority_ = 0;
+ msgType_ = data.msgType();
+ node_id_ = data.node_id();
+ eventType_ = data.eventType();
+ timestamp_ = data.timeStamp();
+
+ AppDataList list = data.getData();
+ AppDataList::iterator it;
+ for (it = list.begin();it != list.end(); it++)
+ {
+ infoRepository.push_back(*it);
+ }
+}
+
+/// Returns the all the data gathered in the sensing activity.
+AppDataList SensedData::getData()
+{
+ return infoRepository;
+}
+
+/// Returns the reference "&" to the message type variable (msgType_).
+int & SensedData::msgType()
+{
+ return msgType_;
+}
+
+/// Returns the reference "&" to the event type variable (eventType_).
+int & SensedData::eventType()
+{
+ return eventType_;
+}
+
+/// Returns the reference "&" to the source node identification for the
+/// message. (node_id_).
+int & SensedData::node_id()
+{
+ return node_id_;
+}
+
+/// Returns the reference "&" to the timestamp variable (timestamp_).
+double & SensedData::timeStamp()
+{
+ return timestamp_;
+}
+
+/// Returns the message priority.
+int SensedData::priority()
+{
+ return priority_;
+}
+
+/// Ajusts the message�s priority.
+void SensedData::set_priority(int p)
+{
+ priority_ = p;
+}
+
+/// Inserts new application data (AppData) into data log
+/// (infoRepository).
+void SensedData::insertNewData(AppData* data)
+{
+ /// If bufferRepository size equals sensor buffer size
+ /// remove the oldest information (FIFO policy).
+ if(infoRepository.size() == BUFFER_SIZE)
+ {
+ infoRepository.erase(infoRepository.begin());
+ }
+
+ /// Inserts data that has just arrived into the SensedData
+ /// infoRepository
+ infoRepository.push_back(data);
+}
+
+/// Informs the message�s size. Actually only calls msgSize function.
+int SensedData::size()
+{
+ return msgSize();
+}
+
+/// Informs the message�s size. Recursivelly adds the size of all
+/// sensed data returns the total size of messages.
+int SensedData::msgSize()
+{
+ int size = sizeof(SensedData);
+
+ AppDataList::iterator it;
+ for (it = infoRepository.begin(); it != infoRepository.end(); it++)
+ {
+ size += (*it)->size();
+ }
+ return size;
+}
+
+/// Returns a copy of the sensed data, including message type, and
+/// all data from infoRepository.
+AppData * SensedData::copy()
+{
+ return new SensedData(*this);
+}
+
+/// Return a boolenan indicating if exists sensed data or not in the
+/// infoRepository.
+bool SensedData::existsData()
+{
+ return !infoRepository.empty();
+}
+
+/// Returns the number of sensed data samples storaged in the
+/// infoRepository.
+int SensedData::count()
+{
+ return infoRepository.size();
+}
+
+/// Makes the infoRepository empty.
+void SensedData::clear()
+{
+ infoRepository.clear();
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/sensedData.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/sensedData.h
--- ns-allinone-2.29/ns-2.29/mannasim/sensedData.h 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/sensedData.h2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,109 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// This class represents sensing applications data. It is derived
+/// from the NS-2 AppData. It includes methods to deal with messages
+/// type, source node identification, message copy, message log
+/// management.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __sensed_data__
+#define __sensed_data__
+
+#include <list.h>
+#include <vector.h>
+#include <scheduler.h>
+#include <common/ns-process.h>
+
+
+/// Databuffer size. Indicates how many samples can be stored.
+#define BUFFER_SIZE 100
+
+typedef list<int> GroupList;
+typedef vector<AppData*> AppDataList;
+
+/// The sensedData class encapsulates all information that needs to be
+/// fowarded by the node.
+/// extends NS-2 AppData
+class SensedData : public AppData
+{
+ public:
+
+ /// Contructors
+ SensedData();
+ SensedData(AppDataType type);
+ SensedData(SensedData &data);
+
+ /// Accessor Methods
+ AppDataList getData();
+
+ int& msgType();
+ int& node_id();
+ int& eventType();
+ double & timeStamp();
+
+ int priority();
+ void set_priority(int p);
+ AppData* copy();
+
+ /// Inserts a new AppData in infoRepository
+ void insertNewData(AppData* data);
+
+ /// Informs if the infoRepository is empty or not
+ bool existsData();
+
+ /// infoRepository managment functions
+ int size();
+ int msgSize();
+ int count();
+ void clear();
+
+ private:
+
+ /// Message type
+ int msgType_;
+
+ /// Event type
+ int eventType_;
+
+ /// Source node identification
+ int node_id_;
+
+ double timestamp_;
+
+ /// Message priority
+ int priority_;
+
+ /// Data log from messages
+ AppDataList infoRepository;
+};
+
+#endif
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/sensorBaseApp.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/sensorBaseApp.cc
--- ns-allinone-2.29/ns-2.29/mannasim/sensorBaseApp.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/sensorBaseApp.cc 2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,191 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Implementation of the classes used by all common sensor nodes of a Wireless
+/// Sensor Network. These classes represents the sensing dynamics: sensing,
+/// processing, and disseminating.
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#include "sensorBaseApp.h"
+
+
+/// Whenever the disseminating timer expires, the application disseminateData()
+/// method should be invoked. The timer should also be rescheduled.
+void DisseminatingTimer::expire(Event*)
+{
+ double dissT;
+ app_->disseminateData();
+
+ dissT = app_->getExpireTime();
+ if (dissT != -1)
+ {
+ resched(dissT);
+ }
+}
+
+
+/// Default constructor. Binds TCL script parameters to C++ code variables and
+/// creates a disseminating timer.
+SensorBaseApp::SensorBaseApp():Application()
+{
+ bind("disseminating_type_",&disseminating_type_);
+ bind("disseminating_interval_",&disseminating_interval_);
+ bind("destination_id_",&destination_id_);
+
+ dissTimer_ = new DisseminatingTimer(this);
+}
+
+/// NS-2 command function overloaded. Deals with TCL script commands to C++
+/// implementation.
+int SensorBaseApp::command(int argc, const char*const* argv)
+{
+ if(argc == 2)
+ {
+ if(strcmp(argv[1],"start") == 0)
+ {
+ /// Initiates the sensing, processing and disseminating activity
+ SensorBaseApp::start();
+ return TCL_OK;
+ }
+ if(strcmp(argv[1],"stop") == 0)
+ {
+ /// Stops the sensing, processing and disseminating activity
+ SensorBaseApp::stop();
+ return TCL_OK;
+ }
+ }
+ if(argc == 3)
+ {
+ if(strcmp("node", argv[1]) == 0)
+ {
+ /// Attach a node to the application
+ sensor_node_ = (SensorNode*)TclObject::lookup(argv[2]);
+ if (sensor_node_)
+ {
+ return TCL_OK;
+ }
+ fprintf(stderr,"Error: %s object not found",argv[2]);
+ return TCL_ERROR;
+ }
+ if (strcmp("attach-processing",argv[1]) == 0)
+ {
+ /// Attach a processing activity to the application
+ processing_ = (Processing*)TclObject::lookup(argv[2]);
+ processing_->setApp(this);
+ if (processing_)
+ {
+ return TCL_OK;
+ }
+ fprintf(stderr,"Error: %s object not found",argv[2]);
+ return TCL_ERROR;
+ }
+ if(strcmp(argv[1],"attach_data_generator") == 0)
+ {
+ /// Attach a data generator to the application
+ DataGenerator* gen = (DataGenerator*) TclObject::lookup(argv[2]);
+ if(!gen)
+ {
+ return TCL_ERROR;
+ }
+ gen->insertNewApp(this);
+ insertNewGenerator(gen);
+ return TCL_OK;
+ }
+ }
+ return Application::command(argc,argv);
+}
+
+/// Returns the expire time for diferente types of data dissemination.
+double SensorBaseApp::getExpireTime(){
+
+ switch(disseminating_type_)
+ {
+ case PROGRAMED:
+ return disseminating_interval_;
+ case CONTINUOUS:
+ return -1;
+ case ON_DEMAND:
+ return -1;
+ case EVENT_DRIVEN:
+ return -1;
+ default:
+ fprintf(stderr, "Unrecognized type of dissemination!\n");
+ abort();
+ break;
+ }
+}
+
+/// Shedule the first processing/disseminating event if these activity type
+/// isn�t the continuous one.
+void SensorBaseApp::start()
+{
+ double dissT;
+ dissT = getExpireTime();
+
+ if (dissT != -1)
+ {
+ dissTimer_->resched(dissT);
+ }
+
+ DataGenList::iterator it;
+ DataGenerator* gen;
+ for(it = gen_.begin(); it != gen_.end(); it++)
+ {
+ gen = *it;
+ gen->start();
+ }
+}
+
+/// Drops all the scheduled events.
+void SensorBaseApp::stop()
+{
+ if (dissTimer_->status() == TIMER_PENDING)
+ {
+ dissTimer_->cancel();
+ }
+
+ /// Stops all DataGenerators that are attached to this application.
+ DataGenList::iterator it;
+ DataGenerator* gen;
+ for(it = gen_.begin(); it != gen_.end(); it++)
+ {
+ gen = *it;
+ gen->stop();
+ }
+}
+
+/// Inserts a new DataGenerator to application DataGenerator list.
+void SensorBaseApp::insertNewGenerator(DataGenerator* gen)
+{
+ gen_.push_back(gen);
+}
+
+/// Returns the DataGenerator list for the application.
+DataGenList SensorBaseApp::getGenList()
+{
+ return gen_;
+}
+
+/// Return the sensor node attached to the application.
+SensorNode * SensorBaseApp::sensor_node()
+{
+ return sensor_node_;
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/sensorBaseApp.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/sensorBaseApp.h
--- ns-allinone-2.29/ns-2.29/mannasim/sensorBaseApp.h 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/sensorBaseApp.h 2006-05-26
11:36:58.000000000 -0300
@@ -0,0 +1,168 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+///
+/// Base class for the other sensor nodes applications. It is an
+/// abstract class that should be implemented in different ways
+/// by specialized applications. It is derived from Application NS class
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#ifndef __sensing_app_h__
+#define __sensing_app_h__
+
+using namespace std;
+
+#include <list>
+#include <apps/app.h>
+#include <common/agent.h>
+#include <common/ns-process.h>
+#include <common/packet.h>
+#include <tools/rng.h>
+
+#include "battery.h"
+#include "processing.h"
+#include "sensorNode.h"
+#include "onDemandData.h"
+#include "dataGenerator.h"
+#include "onDemandParameter.h"
+
+
+/// Disseminate and sensing type enumeration
+enum
+{
+ PROGRAMED = 0,
+ CONTINUOUS = 1,
+ ON_DEMAND = 2,
+ EVENT_DRIVEN = 3
+};
+
+#define TRAP_ 0
+#define MSG_BYTES_ 32
+#define INSTRUCTIONS_ 200
+#define SENSING_TIME_ 0.01
+#define DEFAULT_PORT_ 2020
+
+#define SENSOR_REPORT_ 0
+#define LOCALIZATION_ 1
+#define INITIAL_GROUP_ 2
+#define SOLICITATION_ 3
+//#define REQUEST_ 4
+#define DESTINATION_ 5
+
+
+class SensedData;
+class Processing;
+class SensorBaseApp;
+class DataGenerator;
+
+/// Type definition for a DataGeneration STL list.
+typedef list<DataGenerator*> DataGenList;
+
+/// Disseminating timer for collect data.
+class DisseminatingTimer : public TimerHandler {
+
+ public:
+ DisseminatingTimer(SensorBaseApp* app) : TimerHandler(), app_(app) {}
+ inline virtual void expire(Event*);
+
+ protected:
+
+ /// SensorBaseApp used to disseminate the data
+ SensorBaseApp* app_;
+};
+
+
+/// Base class for common-nodes, cluster-heads, managed nodes. Should be
+/// specialized for each specific node application.
+/// extends NS-2 Application class
+class SensorBaseApp : public Application{
+
+ public:
+ /// standard constructor
+ SensorBaseApp();
+
+ /// NS-2 function
+ virtual int command(int argc, const char*const* argv);
+
+ /// Control functions for simulation applications.
+ void start();
+ void stop();
+
+ /// Accessor methods.
+ DataGenList getGenList();
+ SensorNode * sensor_node();
+
+ friend class DisseminatingTimer;
+ friend class DataGenerator;
+ friend class Processing;
+
+ protected:
+ /// Array of Application Data Generators. It should be especified in
the
+ /// moment of the application creation.
+ DataGenList gen_;
+
+ /// Instance of the object that processes sensed data.
+ Processing* processing_;
+
+ /// Refers to the sensor nodes that contains this application
+ SensorNode* sensor_node_;
+
+ /// Indicates the way the node disseminate sensed data.
+ /// See disseminating enumeration above for disseminating valid values.
+ int disseminating_type_;
+
+ /// Indicates the nodes disseminating interval.
+ /**
+ * Used to determine the dissemination interval. If this interval is
+ * zero and the dissemination type is one, then the interval should be
+ * obtained from a normal distribution. If the dissemination type
+ * is 2, the dissemination will be determined by the received query
+ * or event.
+ */
+ double disseminating_interval_;
+
+ /// Destination node for the sensed data.
+ int destination_id_;
+
+ /// Dissemination timer, used for CONTINOUS and PROGRAMED
dissemination.
+ DisseminatingTimer* dissTimer_;
+
+ virtual void insertNewGenerator(DataGenerator* gen);
+ double getExpireTime();
+
+ /// IMPORTANT: the next four methods should be overwitten by
specialized
+ /// classes.
+
+ /// Sends collected data (after processing activity) to the destination
+ /// node.
+ virtual void disseminateData(){}
+
+ /// Sends collected data (after processing activity) to the destination
+ /// node. Collected data is passed as a parameter.
+ virtual void disseminateData(AppData* data){}
+
+ /// Receives sensed data and performs some kind of processing. These
+ /// function should be overloaded.
+ virtual void recvSensedData(AppData* data_){};
+ virtual void recvSensedData(AppData* data_, AppData* eventData_){};
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/sensorNode.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/sensorNode.cc
--- ns-allinone-2.29/ns-2.29/mannasim/sensorNode.cc 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/sensorNode.cc 2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,148 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Class that describes all the variables and functions of a sensor node.
+/// It can be used as an initial approach to the development of new
+/// sensor nodes types.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabr�cio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#include "sensorNode.h"
+
+
+// This static class creates a link between the C++ class and the TCL script
+// in the simulation scenario.
+static class SensorNodeClass : public TclClass
+{
+ public:
+ SensorNodeClass() : TclClass("Node/MobileNode/SensorNode"){}
+ TclObject* create(int, const char*const*)
+ {
+ return (new SensorNode());
+ }
+}class_sensornode;
+
+
+/// SensorNode constructor. Binds TCL script parameters to C++ code variables
+/// and initialize all the three activites of a sensor node: sensing, processing
+/// and disseminating.
+SensorNode::SensorNode() : MobileNode()
+{
+ bind("sensingPower_",&sensingPower_);
+ bind("processingPower_",&processingPower_);
+ bind("instructionsPerSecond_",&instructionsPerSecond_);
+
+ sensorUseState = ON;
+ processorUseState = ON;
+ transceptorUseState = ON;
+}
+
+// NS-2 function
+int SensorNode::command(int argc, const char*const* argv)
+{
+ Tcl& tcl = Tcl::instance();
+
+ if(argc == 3){
+ if(strcmp(argv[1],"add-app") == 0)
+ {
+ /// Attach an application to the node.
+ Application* app = (Application*)TclObject::lookup(argv[2]);
+ apps_.push_back(app);
+ return TCL_OK;
+ }
+ }
+ return MobileNode::command(argc,argv);
+}
+
+/// Performs a selfTest on the sensor node checking its proper functioning.
+/// NOT YET IMPLEMENTED
+void SensorNode::selfTest(){}
+
+// Turns the sensor node off when necessary.
+void SensorNode::sleep()
+{
+ /// Using the energy model pointer, turns off the node�s transceptor.
+ ((Battery*)energy_model())->setNodeOff();
+
+ /// Stops all the applications related to the node.
+ Tcl& tcl = Tcl::instance();
+ AppList::iterator it;
+ Application* app;
+
+ for (it = apps_.begin(); it != apps_.end(); it++)
+ {
+ app = *it;
+ tcl.evalf("%s stop",app->name());
+ }
+
+ /// Set "off" to all states of node activity (sensing, processing and
+ /// disseminating)
+ sensorUseState = OFF;
+ processorUseState = OFF;
+ transceptorUseState = OFF;
+}
+
+/// Turns the sensor node on when necessary.
+void SensorNode::wakeUp(){
+
+ // Using the energy model pointer, turns on the sensor node transceptor.
+ ((Battery*)energy_model())->setNodeOn();
+
+ // Starts all the applications related to the node.
+ Tcl& tcl = Tcl::instance();
+ AppList::iterator it;
+ Application* app;
+
+ for (it = apps_.begin(); it != apps_.end(); it++)
+ {
+ app = *it;
+ tcl.evalf("%s start",app->name());
+ }
+
+ /// Set "on" to all states of node activity (sensing, processing and
+ /// disseminating)
+ sensorUseState = ON;
+ processorUseState = ON;
+ transceptorUseState = ON;
+}
+
+/// Returns node�s sensing power in Joules/Second.
+double SensorNode::sensingPower()
+{
+ return sensingPower_;
+}
+
+/// Returns node�s processing power in Joules/Second.
+double SensorNode::processingPower()
+{
+ return processingPower_;
+}
+
+/// Returns node�s instruction per second number.
+int SensorNode::instructionsPerSecond()
+{
+ return instructionsPerSecond_;
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/sensorNode.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/sensorNode.h
--- ns-allinone-2.29/ns-2.29/mannasim/sensorNode.h 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/sensorNode.h2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,107 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Class that describes all the variables and functions of a sensor node.
+/// It can be used as an initial approach to the development of new
+/// sensor nodes types.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabr�cio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#ifndef __ns_sensornode_h__
+#define __ns_sensornode_h__
+
+#include <stdlib.h>
+#include <list.h>
+
+#include "app.h"
+#include "mobilenode.h"
+#include "battery.h"
+
+enum
+{
+ ON = 0,
+ OFF = 1
+};
+
+typedef list<Application*> AppList;
+
+/// A class that represents a sensor node with its caracteristics and
+/// functionality.
+/// extends NS-2 MobileNode class
+class SensorNode : public MobileNode
+{
+ friend class Battery;
+
+ public:
+
+ /// Constructor.
+ SensorNode();
+
+ /// NS-2 function.
+ virtual int command(int argc, const char*const* argv);
+
+ /// Accessor methods.
+ double sensingPower();
+ double processingPower();
+ int instructionsPerSecond();
+
+ protected:
+
+ /// List of applications associated with the node.
+ AppList apps_;
+
+ /// Indicates the number of instructions that the nodes processor can
+ /// execute per time unit (usually seconds).
+ int instructionsPerSecond_;
+
+ /// Indicates the energy consumption that a node has when it performs
+ /// its processing activity - thsi value should be in Joules/Second.
+ double processingPower_;
+
+ // Indicates the energy consumption that a node has, when it performs
+ // its sensing activity - this value should be in Joules/Second.
+ double sensingPower_;
+
+ // Indicates whether the sensing activity is in use or not
+ int sensorUseState;
+
+ // Indicates whether the processing activity is in use or not
+ int processorUseState;
+
+ // Indicates wheter the transceptor activity is in use or not
+ int transceptorUseState;
+
+ // Performs a test on the initial behavior of the node.
+ virtual void selfTest();
+
+ // Turns the node off when it is necessary.
+ virtual void sleep();
+
+ // Turns the node on when it is necessary.
+ virtual void wakeUp();
+};
+
+#endif
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/temperatureAppData.cc ns-allinone-
2.29-mannasim/ns-2.29/mannasim/temperatureAppData.cc
--- ns-allinone-2.29/ns-2.29/mannasim/temperatureAppData.cc1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/temperatureAppData.cc 2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,143 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Defines a temperature application data type. Encapsulates the
+/// raw data from DataGenerator.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+/// Julio Cesar e Melo
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#include "temperatureAppData.h"
+
+/// TemperatureAppData constructor. Sets temperature and colleted
+/// time for the object, also calls super class constructor AppDataAttrsExporter()

+/// with AppDataType temperature.


+TemperatureAppData::TemperatureAppData(double temperature, double sample_time) :
+
AppDataAttrsExporter(TEMPERATURE_SENSED_DATA)
+{
+ data_ = temperature;
+ time_ = sample_time;
+}
+
+/// Checks if the value of the current object of this class is greater
+/// than the value of the parameter object. Until now, we only implemented
+/// the GREATER THAN option for EVENT DRIVEN network.
+bool TemperatureAppData::checkEvent(AppData* data_)
+{
+ double value = ((TemperatureAppData*)data_)->data();
+
+ if(value >= this->data())
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+/// Check if current value satisfies the condition especified by operation
+/// and data parameters. This method is used in ON DEMAND network.
+bool TemperatureAppData::compareData(AppData* data, int operation)
+{
+ double value = ((TemperatureAppData*)data)->data();
+
+ switch (operation)
+ {
+ case GREATER_THAN:
+ return (value > this->data());
+
+ case LESS_THAN:
+ return (value < this->data());
+
+ case EQUAL:
+ return (value == this->data());
+
+ default:
+ fprintf(stderr,"TemperatureAppData::compareData - Invalid
Operation.\n");
+ return false;
+ }
+}
+
+/// Sets atributes about temperature sensed data. Called by
+/// CommonNodeDiffApp (directed difusion).
+///
+/// Created by Julio Cesar e Melo
+void TemperatureAppData::setAttributes(NRAttrVec * attrs)
+{
+ attrs->push_back(
+ SensedValueAttr.make(NRAttribute::IS, this->data()));
+}
+
+/// Returns the size of the temperatureAppData object. Size in bytes.
+int TemperatureAppData::size() const
+{
+ return sizeof(TemperatureAppData);
+}
+
+/// Creates a copy of the temperatureAppData object.
+AppData * TemperatureAppData::copy()
+{
+ return new TemperatureAppData(data_, time_);
+}
+
+/// Returns temperature data.
+double TemperatureAppData::data()
+{
+ return data_;
+}
+
+/// Ajusts temperature data.
+void TemperatureAppData::setData(double data)
+{
+ data_ = data;
+}
+
+/// Returns timestamp for temperature data.
+double TemperatureAppData::time()
+{
+ return time_;
+}
+
+/// Ajusts timestamp for temperature data.
+void TemperatureAppData::setTime(double time)
+{
+ time_ = time;
+}
+/// Returns temperature data priority.
+void TemperatureAppData::setPriority(int p)
+{
+ priority_ = p;
+}
+
+/// Ajust temperature data priority.
+int & TemperatureAppData::getPriority()
+{
+ return priority_;
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/temperatureAppData.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/temperatureAppData.h
--- ns-allinone-2.29/ns-2.29/mannasim/temperatureAppData.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/temperatureAppData.h 2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,95 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Defines a temperature application data type. Encapsulates the
+/// raw data from DataGenerator.
+///
+/// authors: Linnyer B. Ruiz
+/// Fabricio A. Silva
+/// Thais Regina de M. Braga
+/// Kalina Ramos Porto
+/// Julio Cesar e Melo
+///
+/// code revisor: Carlos Eduardo R. Lopes
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __temperature_app_data__
+#define __temperature_app_data__
+
+#include <common/ns-process.h>
+#include <nr.hh>
+
+#include "onDemandParameter.h"
+#include "diffusion/attrsExporter.h"
+
+/// Creates a temperature application data type. This data type
+/// represents the pure data collect by the sensor node. This data
+/// is sent to the processing module for futher treatment.
+class TemperatureAppData : public AppDataAttrsExporter
+{
+ public:
+
+ /// Constructor, parameters are the data temperature collected
+ /// and timestamp
+ TemperatureAppData(double temperature, double sample_time);
+
+ /// Creates a copy of the object.
+ AppData* copy();
+
+ /// Size, in bytes, of the object.
+ int size() const;
+
+ /// Check if satisfies the condition especified by
+ /// operation and value. It is used in ON DEMAND network
+ bool compareData(AppData* data, int operation);
+
+ /// Check if the value is greater than this one.
+ /// It is used in EVENT DRIVEN network
+ bool checkEvent(AppData* data_);
+
+ /// Accessor methods
+ double data();
+ double time();
+ int& getPriority();
+
+ void setData(double data);
+ void setTime(double time);
+ void setPriority(int p);
+
+ /// Set attributes of sensed data. This is called by CommonNodeDiffApp.
+ /// Changed by Julio Cesar e Melo.
+ virtual void setAttributes(NRAttrVec * attrs);
+
+ protected:
+
+ /// Temperature data.
+ double data_;
+
+ /// Timestamp for temperature data.
+ double time_;
+
+ /// Priority for temperature data.
+ int priority_;
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/temperatureDataGenerator.cc ns-
allinone-2.29-mannasim/ns-2.29/mannasim/temperatureDataGenerator.cc
--- ns-allinone-2.29/ns-2.29/mannasim/temperatureDataGenerator.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/temperatureDataGenerator.cc 2006-
05-26 11:08:33.000000000 -0300
@@ -0,0 +1,107 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Generates synthetic temperature data. Simulates a temperature sensor node
+/// sensing the environment.
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#include "temperatureDataGenerator.h"
+
+/// This static class creates a link between the C++ class and the TCL script
+/// in the simulation scenario. Provides an instance of the
+/// TemperatureDataGenerator class in the TCL simulation script.
+static class TemperatureDataGeneratorClass : public TclClass
+{
+ public:
+ TemperatureDataGeneratorClass() : TclClass(
+ "DataGenerator/TemperatureDataGenerator"){}
+ TclObject* create(int, const char*const*)
+ {
+ return (new TemperatureDataGenerator);
+ }
+
+}class_temperature_data_generator;
+
+/// Constructor, binds TCL script parameters to C++ code variables and
+/// creates a disseminating timer.
+TemperatureDataGenerator::TemperatureDataGenerator() :
+ DataGenerator(TEMPERATURE_SENSED_DATA)
+{
+
+ // Creates the random number that that generates the syntectic data.
+ rand_ = new RNG(RNG::HEURISTIC_SEED_SOURCE, 1);
+
+ /// Get from the TCL script: data average, standard deviation, and maximum
+ /// Temperature value allowed.
+ bind("avg_measure",&avg_measure);
+ bind("std_deviation",&std_deviation);
+ bind("maximumTemperatureValue",&maximumTemperatureValue);
+}
+
+/// Temperature sensing simulation. This is the most important function since it
+/// creates the random data, encapsulates it on a AppData object and return it
+/// to the sensor node.
+AppData* TemperatureDataGenerator::collect()
+{
+ double t = rand_->normal(avg_measure, std_deviation);
+
+ printf("Temperature Data %f - Time %f\n",t,Scheduler::instance().clock());
+ TemperatureAppData* data =
+ new TemperatureAppData(t, Scheduler::instance().clock());
+
+ /// Returns an application data, that contains the temperature collected
+ /// value
+ return data;
+}
+
+/// NS-2 command function overloaded. Deals with TCL script commands to C++
+/// implementation.
+int TemperatureDataGenerator::command(int argc, const char*const* argv)
+{
+ if(argc == 3)
+ {
+ if(strcmp("set-event",argv[1]) == 0)
+ {
+ avg_measure = atof(argv[2]);
+ printf("EVENT: New avg_measure: %.3f\n",atof(argv[2]));
+ return TCL_OK;
+ }
+ }
+ return DataGenerator::command(argc, argv);
+}
+
+/// Returns average measure for synthetic temperature generation.
+double TemperatureDataGenerator::getAvgMeasure()
+{
+ return avg_measure;
+}
+
+/// Sets average measure value for synthetic temperature generation.
+void TemperatureDataGenerator::setAvgMeasure(double avg_measure)
+{
+ this->avg_measure = avg_measure;
+}
+
+/// Returns the maximum allowed temperature value.
+TemperatureAppData* TemperatureDataGenerator::getMaximumAllowedValue()
+{
+ return new TemperatureAppData(maximumTemperatureValue,0.0);
+}
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/temperatureDataGenerator.h ns-
allinone-2.29-mannasim/ns-2.29/mannasim/temperatureDataGenerator.h
--- ns-allinone-2.29/ns-2.29/mannasim/temperatureDataGenerator.h 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/temperatureDataGenerator.h 2006-
05-26 11:08:33.000000000 -0300
@@ -0,0 +1,61 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+/// Generates synthetic temperature data. Simulates a temperature sensor node
+/// sensing the environment.
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+#ifndef __temperature_data_generator__
+#define __temperature_data_generator__
+
+#include "dataGenerator.h"
+#include "temperatureAppData.h"
+
+/// Generate synthetic temperature data. Synthetic data is based on average and
+/// standard deviation values for a normal probability distribution. A maximum
+/// allowed value should also be set.
+/// extends DataGenerator
+class TemperatureDataGenerator : public DataGenerator
+{
+ public:
+ /// Constructor
+ TemperatureDataGenerator();
+
+ /// Data sensing simulation function
+ AppData* collect();
+
+ /// NS-2 function
+ virtual int command(int argc, const char*const* argv);
+
+ /// Accessor methods
+ double getAvgMeasure();
+ void setAvgMeasure(double avg_measure);
+ virtual TemperatureAppData* getMaximumAllowedValue();
+
+ protected:
+ RNG* rand_;
+
+ double avg_measure;
+ double std_deviation;
+ double maximumTemperatureValue;
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/util/accounts.cc ns-allinone-2.29-
mannasim/ns-2.29/mannasim/util/accounts.cc
--- ns-allinone-2.29/ns-2.29/mannasim/util/accounts.cc 1969-12-31
21:00:00.000000000 -0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/util/accounts.cc 2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,96 @@
+#include "accounts.h"
+
+///
+Accounts * Accounts :: instance()
+{
+ static Accounts single_instance;
+ return &single_instance;
+}
+
+Accounts::Accounts()
+{
+ nodes = 0;
+ groups_counter = 0;
+ nodes_per_group = 0;
+ consumed_energy = 0;
+ management_msgs_sent = 0;
+ negotiation_msgs_sent = 0;
+}
+
+void Accounts::incr_sent_msgs()
+{
+ management_msgs_sent++;
+}
+
+void Accounts::incr_negotiation_msgs()
+{
+ negotiation_msgs_sent++;
+}
+
+void Accounts::incr_nodes(int number_of_nodes)
+{
+ nodes += number_of_nodes;
+}
+
+void Accounts::incr_energy_consumption(double consumption)
+{
+ consumed_energy += consumption;
+}
+
+void Accounts::incr_nodes_per_group(int number_of_nodes)
+{
+ nodes_per_group += number_of_nodes;
+ groups_counter++;
+}
+
+void Accounts::imprime(char * output_dir)
+{
+ char * ophans = new char [60];
+ char * energy = new char [60];
+ char * sent_msgs = new char [60];
+ char * negotiation_msgs = new char [60];
+
+ strcpy(ophans, output_dir);
+ strcpy(energy, output_dir);
+ strcpy(sent_msgs, output_dir);
+ strcpy(negotiation_msgs, output_dir);
+
+ /* imprime em arquivo as msg enviadas */
+ FILE *sent_msgs_file;
+
+ strcat(sent_msgs, "/management_msgs_sent.dat");
+ sent_msgs_file = fopen (sent_msgs, "a");
+
+ fprintf(sent_msgs_file, "%d\n", management_msgs_sent);
+ fclose(sent_msgs_file);
+ /******************************************************/
+
+ /* imprime em arquivo a quantidade de nos �rf�os */
+ FILE * orphans_file;
+
+ strcat(orphans, "/ophan_nodes.dat");
+ orphans_file = fopen (orphans, "a");
+
+ fprintf(orphans_file, "%d\n", (NUMERO_NOS_COMUNS - nodes));
+ fclose(orphans_file);
+ /******************************************************/
+
+ /* imprime em arquivo a energia consumida, na m�dia, pelos CHs */
+ FILE * energy_file;
+
+ strcat(energy, "/consumed_energy.dat");
+ energy_file = fopen(energy, "a");
+
+ fprintf(energy_file, "%.3f\n", consumed_energy);
+ fclose(energy_file);
+
+ /* imprime em arquivo as msg enviadas */
+ FILE * negotiation_msgs_file;
+
+ strcat(negotiation_msgs, "/negotiation_msgs_sent.dat");
+ negotiation_msgs_file = fopen (negotiation_msgs, "a");
+
+ fprintf(negotiation_msgs_file, "%d\n", negotiation_msgs_sent);
+ fclose(negotiation_msgs_file);
+}
+
diff -Naur ns-allinone-2.29/ns-2.29/mannasim/util/accounts.h ns-allinone-2.29-
mannasim/ns-2.29/mannasim/util/accounts.h
--- ns-allinone-2.29/ns-2.29/mannasim/util/accounts.h 1969-12-31 21:00:00.000000000
-0300
+++ ns-allinone-2.29-mannasim/ns-2.29/mannasim/util/accounts.h 2006-05-26
11:08:33.000000000 -0300
@@ -0,0 +1,96 @@
+///
+/// Copyright (C) 2003-2005 Federal University of Minas Gerais
+///
+/// This program is free software; you can redistribute it and/or
+/// modify it under the terms of the GNU General Public License
+/// as published by the Free Software Foundation; either version 2
+/// of the License, or (at your option) any later version.
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+/// You should have received a copy of the GNU General Public License
+/// along with this program; if not, write to the Free Software
+/// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+/// MA 02110-1301, USA.
+///
+///
+/// authors: Helen Peters de Assunção
+/// Carlos Eduardo R. Lopes
+///
+///
+///
+/// --
+/// The Manna Reseach Group
+/// e-mail: mannateam@gmail.com
+///
+/// This project was financially supported by The National Council
+/// for Scientific and Technological Development (CNPq) from the
+/// brazilian government under the process number 55.2111/2002-3.
+///
+#ifndef __accounts__
+#define __accounts__
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string>
+
+/*
+ * Classe com vari�veis que
+ * contabilizam as m�tricas
+ * avaliadas
+ *
+ */
+
+/* ATEN��O: MUDARA QUANDO MUDAR O SCRIPT */
+#define NUMERO_NOS_COMUNS 48
+#define NUMERO_CLUSTER_HEADS 4
+
+class Accounts
+{
+ public:
+
+ //retorna a inst�ncia �nica
+ Accounts * instance();
+
+ void incr_sent_msgs();
+
+ void incr_negotiation_msgs();
+
+ void incr_nodes(int number_of_nodes);
+
+ void incr_nodes_per_group(int number_of_nodes);
+
+ void incr_energy_consumption(double consumption);
+
+ void print_accounts(char * output_dir);
+
+ protected:
+
+ Accounts();
+
+ private:
+
+ /// Accounts the number of management messages sent
+ /// by the node.
+ int management_msgs_sent;
+
+ /// Accounts the number of negotiation messages sent
+ /// by the node.
+ int negotiation_msgs_sent;
+
+ /// Accounts the number of nodes that have a father,
+ /// the other nodes are orphans.
+ int nodes;
+
+ /// Average number of nodes per group (cluster)
+ int nodes_per_group;
+
+ /// Number of groups (cluster) in the network.
+ int groups_counter;
+
+ /// Cosumed energy with cluster head processing
+ double consumed_energy;
+};
+
+#endif
diff -Naur ns-allinone-2.29/ns-2.29/tcl/lib/ns-default.tcl ns-allinone-2.29-
mannasim/ns-2.29/tcl/lib/ns-default.tcl
--- ns-allinone-2.29/ns-2.29/tcl/lib/ns-default.tcl 2005-10-20 02:45:23.000000000
-0200
+++ ns-allinone-2.29-mannasim/ns-2.29/tcl/lib/ns-default.tcl 2006-05-26
11:08:33.000000000 -0300
@@ -553,6 +553,54 @@
Node/MobileNode set DECAP_PORT 1

+# -----------------------------------------------------------------------------
+# Inserted by The Manna Research Group
+# Default values used by mannasim - wireless sensor networks simulator.
+# -----------------------------------------------------------------------------
+
+#DataGenerator set sensing_interval_ 0.0
+#DataGenerator set sensing_type_ 0
+
+DataGenerator/TemperatureDataGenerator set sensing_interval_ 0.0
+DataGenerator/TemperatureDataGenerator set sensing_type_ 0
+DataGenerator/TemperatureDataGenerator set avg_measure 25.0
+DataGenerator/TemperatureDataGenerator set std_deviation 1.0
+DataGenerator/TemperatureDataGenerator set maximumTemperatureValue 00.0
+
+DataGenerator/CarbonMonoxideDataGenerator set sensing_interval_ 0.0
+DataGenerator/CarbonMonoxideDataGenerator set sensing_type_ 0
+DataGenerator/CarbonMonoxideDataGenerator set avg_measure 3000.0
+DataGenerator/CarbonMonoxideDataGenerator set std_deviation 100.0
+DataGenerator/CarbonMonoxideDataGenerator set maximumCarbonMonoxideValue 0.0
+
+Application/SensorBaseApp set disseminating_type_ 0
+Application/SensorBaseApp set disseminating_interval_ 0.0
+Application/SensorBaseApp set destination_id_ 0
+
+Application/SensorBaseApp/CommonNodeApp set disseminating_type_ 0
+Application/SensorBaseApp/CommonNodeApp set disseminating_interval_ 0.0
+Application/SensorBaseApp/CommonNodeApp set destination_id_ 0
+
+Node/MobileNode/SensorNode set sensingPower_ 0.5
+Node/MobileNode/SensorNode set processingPower_ 0.5
+Node/MobileNode/SensorNode set instructionsPerSecond_ 100000000
+
+Application/AccessPointApp set outside_network_ 0
+Application/AccessPointApp set request_type_ 0
+Application/AccessPointApp set destination_id_ 0
+Application/AccessPointApp set node_id_ 0
+Application/AccessPointApp set diretorio 0
+
+#Application/SensorBaseApp/ClusterHeadApp/ClusterHeadMannaManagerApp set
coverageInterval 0.0
+#Application/SensorBaseApp/ClusterHeadApp/ClusterHeadMannaManagerApp set
groupInterval 0.0
+#Application/SensorBaseApp/ClusterHeadApp/ClusterHeadMannaManagerApp set
initialGroupInterval 0.0
+#Application/SensorBaseApp/ClusterHeadApp/ClusterHeadMannaManagerApp set WIDTH 0
+#Application/SensorBaseApp/ClusterHeadApp/ClusterHeadMannaManagerApp set HEIGHT 0
+
+# -----------------------------------------------------------------------------
+
+
+
# Default settings for Hierarchical topology
#
# Bits are allocated for different fields like port, nodeid, mcast,
diff -Naur ns-allinone-2.29/ns-2.29/tcl/lib/ns-lib.tcl ns-allinone-2.29-
mannasim/ns-2.29/tcl/lib/ns-lib.tcl
--- ns-allinone-2.29/ns-2.29/tcl/lib/ns-lib.tcl 2005-10-20 02:45:23.000000000 -0200
+++ ns-allinone-2.29-mannasim/ns-2.29/tcl/lib/ns-lib.tcl 2006-05-26
11:08:33.000000000 -0300
@@ -334,6 +334,9 @@
# change wrt Mike's code
# -eotTrace OFF
# -diffusionFilter
"GradientFilter/OnePhasePullFilter/GeoRoutingFilter/RmstFilter/SourceRouteFilter/Lo
gFilter/TagFilter"
+#
+# add by The Manna Research Group
+# -sensorNode ON

Simulator instproc addressType {val} { $self set addressType_ $val }


@@ -372,10 +375,14 @@
Simulator instproc satNodeType {val} {$self set satNodeType_ $val}
Simulator instproc downlinkBW {val} {$self set downlinkBW_ $val}
Simulator instproc stopTime {val} {$self set stopTime_ $val}
-
+#
# change wrt Mike's code
Simulator instproc eotTrace {val} { $self set eotTrace_ $val }
Simulator instproc diffusionFilter {val} {$self set diffFilter_ $val}
+#
+# Inserted by The Manna Research Group
+Simulator instproc sensorNode {val} {$self set sensorNode_ $val}
+

Simulator instproc MPLS { val } {


if { $val == "ON" } {
@@ -744,11 +751,28 @@
return $node
}

+# Simulator instproc create-node-instance args {


+# $self instvar routingAgent_
+# # DSR is a special case
+# if {$routingAgent_ == "DSR"} {
+# set nodeclass [$self set-dsr-nodetype]
+# } else {
+# set nodeclass Node/MobileNode
+# }
+# return [eval new $nodeclass $args]
+# }
+
+
+# Inserted by The Manna Research Group
+# Used by mannasim - wireless sensor network simulator
Simulator instproc create-node-instance args {
- $self instvar routingAgent_
+ $self instvar routingAgent_ sensorNode_
+
# DSR is a special case
if {$routingAgent_ == "DSR"} {
set nodeclass [$self set-dsr-nodetype]
+ } elseif { [info exists sensorNode_] && $sensorNode_ == "ON"} {
+ set nodeclass Node/MobileNode/SensorNode
} else {
set nodeclass Node/MobileNode
}

Você também pode gostar