Active framework for Flow / hybrid network simulation in omnet++ - omnet++

I've briefly checked a paper of combined flow-level / Discrete Event Packet Simulators (Anggono, G., & Moors, T. (2016). A flow-level extension to OMNeT++ for long simulations of large networks.). I found
flowsim (archived)
FLEO (inactive since 2018) with attempted omnet++ integration (of the authors of the paper)
Narses last updated 2003
Are there any current approaches / available tools that possible integrate with omnet++ and go into the direction of background flow simulation?

Related

How to print collisions in real time on the OMNet ++ console?

I am doing the geographic routing in VEINS. However, in a moment the message is not transmitted by a node.
I suspect this is caused by a collision. I know that it is possible to take collision statistics at the end of the simulation.
But, I was wondering if there is any method I can use to print the collision on the OMNeT ++ console in real time.
Development environment used: SUMO 1.2.0, VEINS 5.0 and OMNet++ 5.5.1.
I suggest taking a look at the various visualizers in INET. For example you can set up a packet drop visualizer. See the related showcase.
You can also visualize the actual electromagnetic signal if you want to see it on lower level.

Omnet++- Energy consumption curves

I'm doing network simulation using Omnet ++ software and castalia. so i want to know how to plot power consumption, RSSI value curves
thanks in advance
This question's answer is dependent on what software you're using exactly. OMNeT++ provides a suite and toolchain for visualization, but as user Thanassis points out below, Catalia has its' own specialized evaluation tools.
For general OMNeT++ simulations
The OMNeT++ tutorial covers this in quite a lot of detail. Basically:
tell OMNeT++ what data you're recording (by editing the .ned files) using the #statistic annotation
modify the simulation to track the data you're interested in, either over simulation time (referred to as vectors) or per simulation (referred to as scalars), basically using emit().
make sure that your simulation (omnetpp.ini) is set up to collect the statistics (by setting e.g. histogram or vector as the type of collected data)
use either the graphical OMNeT++ interface or your own scripts to analyze the output of the simulation (which is, by default, stored in a folder called results wherever you're running the simulation, unless you change that in the omnetpp.ini)
Please also refer to these related questions:
How to collect traffic data and macroscopic statistics in Veins?
Calculating end-to-end delay for SimpleServerApp in Veins-LTE

How to control the transmission power and speed based on the distance between two vehicles in Veins

I am a beginner about Veins. Now I am trying to simulate dynamic adjustment of the transmission power and speed between 2 running vehicles based on their distance with each other with Veins 4.5, Omnet 5.0 and Sumo 0.29.
So far I have built the Sumo model and run the model in Omnet but without any programming which means the transmission power and speed between 2 vehicles are all set in the .ini file. Now I want to implement an algorithm to adjust them dynamically.
As a beginner I barely know how to start this job. The Veins tutorial didn't tell how to apply the functions provided by Veins. I now build a new .cc file based on our .ned file. And from MyVeinsApp.cc I found some methods I need to implement. But still I need some programming instructions about my problem.
1 how to get the realtime distance between 2 running vehicles?
2 is it possible to control the transmission power and speed with Veins 4.5?
I am sorry for these initial questions.But I really don't know how to develop a Veins simulation from the very beginning step by step at the programming level
Thank you very much!
To get the distance between two vehicles you can use the built-in function distance() from Coord (see this post).
To control the transmit power you can use the parameter txPower from Mac1609_4.
For changing the speed of the vehicle you can check this post.

Using a Traffic Light as a RSU in Omnet++, Veins and SUMO

I am doing a project on improving the transit times of buses using 802.11p. Currently I have a SUMO model made and simulating and I am moving on to modeling the network using Omnet++ and Veins. I have completed the TicToc tutorials to become familiar with Omnet++.
I am wondering how I could use the traffic lights in SUMO as Road Side Units in Omnet++. Would I need to write code in Veins to allow Omnet++ "see" the traffic lights as it does with vehicles?
Thanks in advance,
Ciaran
You are right: In order to model whether a transmission from a car to a certain "point" in the simulation is received, you will need to instantiate an OMNeT++ module (let's call it a Virtual Induction Loop, VIL) with an 802.11p radio at that position.
A design decision will be how to estimate where these VILs will need to be.
Naturally, VILs will need to be close to the lanes that are controlled by traffic lights. Each traffic light can control any number of intersections, so putting a VIL at the center of "the intersection" will likely not be possible. This means that, ideally, you would hand-pick the positions.
Alternatively, you can try to estimate a good position automatically. As of Veins 4a2, only rudimentary commands for traffic lights (such as to set a traffic light program) are implemented. SUMO, however, offers many more commands for reading traffic light information. If you implement the commands to enumerate which traffic lights exist, which lanes they control, and where those lanes are, you might be able to derive good position estimates for the VILs.

AndroidProximityLibrary receiving beacon information rate

I am using the `AndroidProximityLibrary' for a project where i'm measuring the distance to the beacon and when it reaches / passes a certain distance it will do something.
Everything is working fine except the distances i'm receiving from the library have a big variation of values. Even if i'm standing in front of the beacon in clear nice of sight, i can get distance values that goes from 1,5 to 4 meters ( When i'm standing around 3 meters from beacon)
My real question is if i can somehow get more distance values so i can get rid of those spikes, currently i'm receiving beacon information around 2 distance values per second. Is is the beacon that is only sending information with that frequency ? or is it the library that is only doing the callbacks with that frequency ?
As a beacon, i'm using a raspberry pi configured like the RadiusNetwork tutorial. I'm using a nexus 5 hosting the client application.
The reason the values vary so much is because there was a bug in that library that only used a single signal strength measurement to estimate distance. The latest version of the Android Beacon Library (which shares much of the code of the library you mention) uses a running average of signal strength samples over a 20 second window. This smooths out the noise significantly.
Unfortunately the AndroidProximityLibrary has been discontinued, and no new updates are being provided. If you are not using the cloud data features of the library, your best option is to migrate to the Android Beacon Library 2.0, which has all the other features. A migration guide is available here.

Resources