Overview of VANET Project (11’) on Quadstone Paramics Perspective Jae-Myeong Lee HMCL.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Components of GIS.
C Language.
COURSE: COMPUTER PLATFORMS
Snort & ACID. UTSA IS 6973 Computer Forensics SNORT.
Making the most of Satellite Navigation and Tracking Integration with your Business System.
Delay bounded Routing in Vehicular Ad-hoc Networks Antonios Skordylis Niki Trigoni MobiHoc 2008 Slides by Alex Papadimitriou.
A Mobile Infrastructure Based VANET Routing Protocol in the Urban Environment School of Electronics Engineering and Computer Science, PKU, Beijing, China.
A Context Aware Framework Mark Assad Supervisor: Bob Kummerfeld.
Simulator integration: Vissim (Environment simulator) + NS2 (Telecom simulator) = RuBeNS Rural & UrBan e-Travelling Network Simulator Péter Laborczi Sándor.
Data Analytics and Dynamic Languages Lee E. Edlefsen, Ph.D. VP of Engineering 1.
WSN Simulation Template for OMNeT++
Customized Simulation Modeling Using PARAMICS Application Programming Interface Henry Liu, Lianyu Chu & Will Recker Paramics User Group Meeting February.
TOSSIM: Visualizing the Real World Philip Levis, Nelson Lee, Dennis Chi and David Culler UC Berkeley NEST Retreat, January 2003.
Customized Simulation Modeling Using PARAMICS Application Programming Interface Henry Liu, Lianyu Chu & Will Recker.
CMSC 104, Version 8/061L18Functions1.ppt Functions, Part 1 of 4 Topics Using Predefined Functions Programmer-Defined Functions Using Input Parameters Function.
Quoridor Classic Game Manager Kevin Dickerson April 2004.
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
ROOT An object oriented HEP analysis framework.. Computing in Physics Physics = experimental science =>Experiments (e.g. at CERN) Planning phase Physics.
A Vehicular Ad Hoc Networks Intrusion Detection System Based on BUSNet.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Intelligent Transportation System (ITS) ISYM 540 Current Topics in Information System Management Anas Hardan.
Introduction to NS2 -Network Simulator- -Prepared by Changyong Jung.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Libsecondlife: Bots Hyungwook Park. LSL vs. libsecondlife Linden Script Language (LSL)  Programming language used by residents of Second Life  Controls.
Course Presentation EEL5881, Fall, 2003 Project: Network Reliability Tests Project: Network Reliability Tests Team: Gladiator Team: Gladiator Shuxin Li.
SAFESPOT – Local Dynamic Maps for Cooperative Systems April, 12th 2007, CRF – SP2 Infrasens meeting 1 Local dynamic maps in cooperative systems IP - “Smart.
Programming With C.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
The Comparison of PARAMICS ( MODELLER ), GETRAM( TEDI ), CORSIM, and VISSIM Roundabout Construction Interchange Construction Workzone Construction Data.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Introduction to Biometrics Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #23 Biometrics Standards - II November 14, 2005.
Interactive CARA Simulation Prof. Insup Lee. Hierarchical EFSM Specification for CARA.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
Technical Presentation
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Implementation of Collection Tree Protocol in QualNet
TANGO TANGO ALTERNATE NETWORK GRAPH ORGANIZER Olof Hellqvist Zak Blacher.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
1 Creating Windows GUIs with Visual Studio. 2 Creating the Project New Project Visual C++ Projects Windows Forms Application Give the Project a Name and.
Chapter 1 – Matlab Overview EGR1302. Desktop Command window Current Directory window Command History window Tabs to toggle between Current Directory &
MS Visual Basic 6 Walter Milner. VB 6 0 Introduction –background to VB, A hello World program 1 Core language 1 –Projects, data types, variables, forms,
Simple Classes. ADTs A specification for a real world data item –defines types and valid ranges –defines valid operations on the data. Specification is.
1 Developing Application in Distributed Computing Environment (DCE)
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
Development of PARAMICS Plug-ins with Application Programming Interfaces Henry X. Liu, Lianyu Chu, Will Recker PATH / UC-Irvine.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Graphs Upon completion you will be able to:
SenSys Attack Tool David Welling Jon Silliman. Project Organization Three step procedure – Reading paper and research sensor networks – Setting up SenSys.
1 UMBC CMSC 104, Section Fall 2002 Functions, Part 1 of 3 Topics Top-down Design The Function Concept Using Predefined Functions Programmer-Defined.
Design and Analysis of Algorithms Introduction to graphs, representations of a graph Haidong Xue Summer 2012, at GSU.
CMSC 104, Section 301, Fall Lecture 18, 11/11/02 Functions, Part 1 of 3 Topics Using Predefined Functions Programmer-Defined Functions Using Input.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Wednesday NI Vision Sessions
Interaction and Animation on Geolocalization Based Network Topology by Engin Arslan.
The Distributed Application Debugger (DAD)
C# for C++ Programmers 1.
Network Simulators.
In-situ Visualization using VisIt
MATLAB Basics Nafees Ahmed Asstt. Professor, EE Deptt DIT, DehraDun.
Source: Department of Motor Traffic Sri Lanka statistics
Chapter 3: Windows7 Part 4.
Chapter 2: GUI API Chapter 2.
Computer Simulation of Networks
CIS16 Application Development Programming with Visual Basic
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Plug-In Architecture Pattern
Presentation transcript:

Overview of VANET Project (11’) on Quadstone Paramics Perspective Jae-Myeong Lee HMCL

VANET Project VANET is shorten word of Vehicular Ad-hoc Network. Ad-hoc Network means a special-purpose network. The goal is simulation of VANET with simulator. There is no simulator for VANET simulation. Therefore we used two simulators, and each of them can simulate only one thing. These simulators are: Quadstone Paramics and NS-2 Quadstone Paramics is a traffic simulator, to simulate vehicles’ moving. NS-2 is a network Simulator, to simulate VANET. We made them interact each other with IPC. IPC(Interprocess Communication): a technique for comm. between different processes, which is supported by OS(MS-Windows).

Understanding Paramics Quadstone Paramics is developed by Quadstone, Inc. Mid-scale traffic simulator can simulate large area also can simulate details, in vehicular level. Non-freeware: commercial software. requires license key Quadstone Paramics comprises: Analyzer Analyzes simulation result Designer Design road network Modeller Configure road network, and simulate in GUI Processor Simulator, non-GUI Viewer Simulation viewer, GUI We use Modeller and Processor. ▲ Modeller, during simulation vehicle

Understanding Paramics (Cont.) Network means network of nodes, which is graph of roads. Network is a bidirectional graph in default, also can be unidirectional graph. we’re using unidirectional. A network may include: Nodes, are vertices of road graph Links, are edges of road graph Links are straight line basically, also can be arc line. Zones, are special areas where a car enters or leaves Entrance of our network, or a parking lot Loop Detectors or Detectors VMS Beacons or Beacons VMS: Visual Messaging System A network is stored as files into a directory. VMS in Maryland, US Zone 1 … … Zone 2 road(link) loop

Our project scenario Our project is pretty simple: In default, all vehicles travel around the network, in shortest path. (Paramics vehicles’ default behavior) We collect the traffic information from: Loop Detectors RSE(Road Side Equipment)s into a server. Server analyze the traffic information and calculates average speed in each links. (*In real world, it is an separated computer, but in our project, server code is in Paramics plug-in C project) Vehicles decide routing path depending on server information. (Not shortest path! Minimized-travel-time path!)

A car is moving. Loop’s entrance sensor detects the entry.Loop’s exit sensor detects the exiting.Calculate car’s speed from distance and time gapUser plug-in calls qpg_DTL_xxx(Loop API) to get statistics of vehicle speed, when needed. Our project scenario (Cont.) Explanation of some technical terms: Loop Detectors Equipment installed on the road, which detects and collects vehicles’ speed. It has two sensors, to sense vehicle’s entry and exit. Mechanism of Loop Detectors in Paramics: Node #1 Node #2 Link #1 Loop #1 Loop’s entrance sensorLoop’s exit sensor 07:05:01 07:05:06 100m 72 User Plug-In Paramics Simulator avgspeed=qpg_DTL_xxx(); Instructions:

Our project scenario (Cont.) Explanation of some technical terms: Loop Detectors But, we don’t use Paramics-managing speed statistics. To make easy to do what we want We make a callback handler for “Enter to loop” event. And when it is called: Get the vehicle’s real speed by calling qpg_VHC_speed() Send vehicle speed to server with Loop #.

Our project scenario (Cont.) Explanation of some technical terms: RSE(Road Side Equipment)s Equipment installed on the road side, which communicates cars with wireless network(DSRC) Paramics doesn’t support RSE, because it doesn’t have any network simulation features. So, we must implement RSE in plug-in code, while expressing its position with Loop Detector. RSE in concepts: Road RSE

Our project scenario (Cont.) Explanation of some technical terms: Calculation of speed with RSEs (in unidirectional): RSE#01 RSE#02 D(distance) Matched We can Calculate Vehicle #5’s speed from D and (T2-T1) Link #1 Link #2 Link #3 Link #4 Link #5Link #6 Node #1 Node #2 Node #3 Node #4 Node #5 Node #6

Paramics API Programming Already we knew, Paramics supports User Plug-ins. Plug-ins are standard Windows DLL executables, which exports callback functions A plug-in interacts with Paramics via Paramics APIs. Paramics APIs have four types: Callback Type (qpx_xxx_xxx) (e.g.: qpx_NET_postOpen) A plugin-defined function, where Paramics notifies a event to. We can just receive event notification, cannot influence simulation. Override Type (qpo_xxx_xxx) (e.g.: qpo_RTM_decision) A plugin-defined function, which overrides default Paramics action. Setter Type (qps_xxx_xxx) (e.g.: qps_GUI_printf) An API to set something’s value or status. Getter Type (qpg_xxx_xxx) (e.g.: qpg_NET_nodes) An API to get something’s value or status.

Paramics API Programming (Cont.) API Naming Convention: qp%_XXX_WordWord() % : Type of API (x = callback, o = override, s = setter, g = getter) XXX : Category of API BCN: Beacon (VMS Beacon) BUS: Bus vehicle BSR: Bus Route CFG: Configuration CLK: Clock DRW: Drawing (* Modeller Graphics) EDT: Editor LNK: Link NDE: Node NET: Network … WordWord: Action of API Example: qpg_LNK_name() : get name of a link

Paramics API Programming (Cont.) We can look up APIs we need, in Programmer Reference Manual Example: qpg_CFG_simulationTime (Getter of, Configuration, Current Simulation Time) Syntax float qpg_CFG_simulationTime(void); Description This function returns the current simulation time in seconds.

Paramics API Programming (Cont.) Simple plug-in code, prints “Hello World!”: #include // Paramics API void qpx_NET_postOpen() { qps_GUI_printf(“Hello World!\n”); // prints message to GUI } [Explanation] Programmer.h: header file for Paramics APIs qpx_NET_postOpen: callback function, which is called after network load completion qps_GUI_printf: printf function, in Paramics API

Paramics API Programming (Cont.) Handling Network Objects Almost network objects (such as Node, Link, Loop Detectors) has index #. (But, vehicle has no index, just has unique ID(car #)) Their index is put with sequential number in based-1. e.g.: 10 Nodes in network → each nodes’ indexes are 1, 2, 3, …, 10. Network Objects are expressed in pointer type. NODE *, LINK *, VEHICLE *, … We cannot dereference their pointers, just can pass them to APIs. Because, Their internal are undocumented and private. (Example - definition of NODE: typedef struct NODE_s NODE; // no definition of struct NODE_s ) Practice: Get Length of Link #11 LINK *lp = qpg_NET_linkByIndex( 11 ); // get object from index if(lp) qps_GUI_printf(“Link #11 length = %d\n”, qpg_LNK_length(lp) );

Paramics API Programming (Cont.) Our plug-in’s Visual C++ project named “TrafficPlugin”. Our C-language project includes: TrafficPlugin.c: Main plugin code SharedQueue.c: Shared circular array FIFO(queue) code Server.c: Implementation of server(traffic analyzer) ServerCaller.c: Wrapper Functions of Server Interface PacketIO.c: NS2 packet reading functions matrix.c: Functions related to adjacency matrix processing. Adjacency matrix: One of graph expressions in matrix array filter.c: (unused – temporary code) Server/*.c: (unused – temporary code)

On the next time… Look in detail NS-2 Explanation Analyze project source code Functions Tricks we used Algorithms Simulation demo Explain what we do in this year

Thank You! Any Questions?