WSN Simulation Template for OMNeT++

Slides:



Advertisements
Similar presentations
Dynamic Source Routing (DSR) algorithm is simple and best suited for high mobility nodes in wireless ad hoc networks. Due to high mobility in ad-hoc network,
Advertisements

INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
SensMax People Counting Solutions Visitors counting makes the most efficient use of resources - people, time and money, which leads to higher profits in.
Introduction 1.  A Simulator  Modular (Component-based)  Open-architecture  For Discrete Event Networks.
BY PAYEL BANDYOPADYAY WHAT AM I GOING TO DEAL ABOUT? WHAT IS AN AD-HOC NETWORK? That doesn't depend on any infrastructure (eg. Access points, routers)
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
Decentralized Reactive Clustering in Sensor Networks Yingyue Xu April 26, 2015.
Seminar On “ OMNET++ Network Simulator” Presented By: Saurav K Bengani Guided By: Guided By: Dr. Andrew yang Dr. Andrew yang.
Computer Networks Group Universität Paderborn Ad hoc and Sensor Networks Chapter 9: Localization & positioning Holger Karl.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Incremental Network Programming for Wireless Sensors NEST Retreat June 3 rd, 2004 Jaein Jeong UC Berkeley, EECS Introduction Background – Mechanisms of.
Lecture 23: Software Architectures
Performance Comparison of Existing Leader Election Algorithms for Dynamic Networks Mobile Ad Hoc (Dynamic) Networks: Collection of potentially mobile computing.
Matnet – Matlab Network Simulator for TinyOS Alec WooTerence Tong July 31 st, 2002.
1 A Novel Mechanism for Flooding Based Route Discovery in Ad hoc Networks Jian Li and Prasant Mohapatra Networks Lab, UC Davis.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
Delivery, Forwarding, and Routing
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
Delivery, Forwarding and
Analysis of Simulation Results Andy Wang CIS Computer Systems Performance Analysis.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
What is R By: Wase Siddiqui. Introduction R is a programming language which is used for statistical computing and graphics. “R is a language and environment.
Mobile IP Performance Issues in Practice. Introduction What is Mobile IP? –Mobile IP is a technology that allows a "mobile node" (MN) to change its point.
Mobile IP: Introduction Reference: “Mobile networking through Mobile IP”; Perkins, C.E.; IEEE Internet Computing, Volume: 2 Issue: 1, Jan.- Feb. 1998;
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009 Tema 7.- CASTADIVA PROJECT Performance Evaluation of a MANET architecture.
NetSim ZigBee Simulation Code Walkthrough in 10 steps
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Common Devices Used In Computer Networks
SIGNALING. To establish a telephone call, a series of signaling messages must be exchanged. There are two basic types of signal exchanges: (1) between.
2008/2/191 Customizing a Geographical Routing Protocol for Wireless Sensor Networks Proceedings of the th International Conference on Information.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Dynamic Source Routing in ad hoc wireless networks Alexander Stojanovic IST Lisabon 1.
Tufts University. EE194-WIR Wireless Sensor Networks. March 3, 2005 Increased QoS through a Degraded Channel using a Cross-Layered HARQ Protocol Elliot.
1 Collaborative Processing in Sensor Networks Lecture 2 - Mobile-agent-based Computing Hairong Qi, Associate Professor Electrical Engineering and Computer.
Simulation of the OLSRv2 Protocol First Report Presentation.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
KAIS T On the problem of placing Mobility Anchor Points in Wireless Mesh Networks Lei Wu & Bjorn Lanfeldt, Wireless Mesh Community Networks Workshop, 2006.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Simulation of DeReClus Yingyue Xu September 6, 2003.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.
SERENA: SchEduling RoutEr Nodes Activity in wireless ad hoc and sensor networks Pascale Minet and Saoucene Mahfoudh INRIA, Rocquencourt Le Chesnay.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Repairing Sensor Network Using Mobile Robots Y. Mei, C. Xian, S. Das, Y. C. Hu and Y. H. Lu Purdue University, West Lafayette ICDCS 2006 Speaker : Shih-Yun.
Simulation of O2 offline processing – 02/2015 Faculty of Electrical Engineering, Mechanical Engineering and Naval Architecture Eugen Mudnić.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Network types Point-to-Point (Direct) Connection Dedicated circuit boards connected by cable; To transfer data from A to B: – A writes on its circuit board;
Introduction to Omnet++ By: Mahsa Soheil Shamaee.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
INTRODUCTION TO WIRELESS SENSOR NETWORKS
Introduction Wireless devices offering IP connectivity
Chapter 25: Advanced Data Types and New Applications
J. Michael, M. Shing M. Miklaski, J. Babbitt Naval Postgraduate School
Net 435: Wireless sensor network (WSN)
Wireless Mesh Networks
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
Overview: Chapter 4 Infrastructure Establishment
Presentation transcript:

WSN Simulation Template for OMNeT++ Stefan Dulman s.o.dulman@utwente.nl

Presentation Overview OMNeT++ Introduction Sensor Network Template Implementation Example Discussion and future work

OMNeT++ Introduction

OMNeT++ Features Simulator designed for fixed, wired, distributed systems (such as: computer networks, multiprocessor systems…) Discrete time simulator It is compatible with: DOS, UNIX, WINDOWS (uses C++ and Tcl/Tk) Several graphical interfaces allows easy debugging and variables inspection Offers support for parallel execution

OMNeT++ Features (2) Simulated objects are represented by modules Modules can be simple or composed (depth of module nesting is not limited) Modules communicate by messages (sent directly or via gates) One module description consists of: Interface description (.NED file) Behavior description (C++ class) Modules, gates and links can be created: Statically - at the beginning of the simulation (NED file) Dynamically – during the simulation

OMNeT++ Features (3) Support is offered for: Recording data vectors and scalars in output files Random numbers (also from several distributions) with different starting seeds Tracing and debugging aids (displaying info about the module’s activity, snapshots, breakpoints) Simulations are easy to configure using .ini file Batch execution of the same simulation for different parameters is also included

OMNeT++ Features (4) What is missing or not working as wanted: Mobile entities and wireless communication between them are not included Static data types not allowed For storing data needed by all the modules a central manager has to be created Communication with this entity goes by messages (slow!) Using pointers to it is not always good idea (parallel execution) Execution goes very slow with the increase of the number of messages and when using parameters Very slow 2D graphical interface made in Tk

Sensor Network Template

Template Description What is it: A fully working project consisting of a network of mobile nodes that can communicate by wireless means. The user has only to implement the wanted algorithm, with no concern on how these issues are handled. All the parameters of the network can be changed without any need of rewriting any code Offers (a lot of) easy to use macros for accessing the main functionalities

Template Description (2) Characteristics: Implements mobility (Random Way Point alg.) Wireless communication Simulated by dynamically connecting modules within transmission range Unidirectional links Signal strength can be varied from within the nodes Energy management is also included Nodes have failing probabilities Map for area failures can be specified and used Other maps can easily used for obstacles, fading, etc. (implementation is similar)

Network Architecture Central Manager Sensor nodes Used as a central database Its main function: stores the connectivity map and updates it upon request It takes care of reading additional configuration files and sending the information It is hidden from the display, communication with it is done only with sendDirect() function Sensor nodes

Sensor Node Architecture Layer 0 Sensor Energy manager Blackboard Application Custom network layers

Mobility Issues Approaches to describe mobility Each node reports its position after a certain interval. Simulation precision depends on this interval. The smallest the interval the longest the simulation time Each node reports the equation of the curve of its movement Manager computes the interaction moments and schedules gates connect/disconnect at those moments Faster execution (almost 4 times in our simulations) More precise simulation Graphical display no longer linked to the simulator precision Random Way Point model as default

Energy Management Implemented using the blackboard Consumed energy and of the current energy Data can be accessed from anywhere within a sensor node Estimation of the lifetime of the node (can be improved by using any desired estimation function) Warnings can be issued when no energy is left (special behaviours can be implemented in the energy manager; e.g. stop certain components when energy goes beyond a treshhold)

Reliability Issues Two kinds of failures implemented Node failure probability Can be specified for each node separately Available to all the layers inside a node Can be set to change over the time Area failure probability The failure zones are specified as rectangles inside a configuration file Data is available to all the layers It can be given any interpretation needed. Easy to extend to a set of maps

Other features RWP algorithm is fully configurable by constants for speed and sleep time Discrete simulator problem: update messages from the manager/layer0 for the topology update arrive in the same time with messages from the application. Solution: usage of a constant defining the maximum time resolution used by the application Infrastructure update messages are scheduled before information messages Layer0 can check if the user has used time values that need a higher precision than allowed

Other Features (2) Support for beacons is added (needed by the localization algorithms) A certain number of nodes have fixed positions Any node can find out if it is a beacon or not Each node can be displayed in several ways (useful for debugging and presentations: to highlight the discovered paths, the clusters, etc.) 3 distinct graphical signs and 10 colors for each one Can be modified from anywhere inside the node Modifications are displayed immediately Simulation precision is no longer related to display update User can specify the display rate

Work in progress Signal sources: Support for fixed and mobile beacons Support for areas of interest Fixing minor bugs and optimizing the code Rather use new derived classes than parameters Finding the best places to place the functionality (manager or layer0) Trying to create a library of modules WANTED: 3D graphical display !!!

Work in Progress (2) Tcl/Tk script for: Easy configuration of the network Designing the maps, node initial positions, initial values, etc. Generation of project files

Implementation example

Example (1) Application example: Step 1 One node periodically broadcasts distinct messages (each 5 sec) Each other node re-broadcasts a received messages if this one is newer than the last heard one (after 1 second) In case of message collision, the incoming messages are discarded Step 1 Adding the interface description for the custom layers

Example (2) Step 2 Step 3 Step 4 Step 5 Creating the new module C++ class (using Tcl script) Step 3 Writing the code for the message collision Step 4 Writing the application code Step 5 Verification by simulation

Address where to download the template: Email address: Discussions Address where to download the template: http://wwwhome.cs.utwente.nl/~dulman/tools.htm Email address: s.o.dulman@utwente.nl