| <!DOCTYPE html><html lang="en-us" > |
| |
| |
| |
| |
| |
| |
| |
| <head> |
| |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="generator" content="Source Themes Academic 4.8.0"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <meta name="author" content="Fraunhofer FOKUS"> |
| |
| |
| |
| |
| |
| |
| <meta name="description" content="The built-in Eclipse MOSAIC Cell Simulator enables the applications to use cellular network communication. The simulation of cellular communication in Eclipse MOSAIC consists of two parts: |
| The Cellular Simulator itself and The applications that can communicate over cellular networks in the Application Simulator These changes are done in a generic way, making the cellular simulator exchangeable."> |
| |
| |
| <link rel="alternate" hreflang="en-us" href="https://www.eclipse.org/mosaic/docs/simulators/network_simulator_cell/"> |
| |
| |
| |
| |
| |
| |
| |
| <meta name="theme-color" content="#68145C"> |
| |
| |
| |
| |
| |
| <script src="/mosaic/js/mathjax-config.js"></script> |
| |
| |
| |
| |
| |
| |
| |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/academicons/1.8.6/css/academicons.min.css" integrity="sha512-MCWBwPSput2UWNwyznVFLbD2iUc1e5VsdD1zahsWVzkDSUzyHhMZ4kCS3wgYSRm0mU+glwD/Q9lSJrDPwbUL2A==" crossorigin="anonymous"> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0-1/css/all.min.css" integrity="sha512-ZYg+hQvLlM0W9C3P6vTpes5LmJ66G2EsroxDNzwD6qiulckldb29eD9I672HL2X+LH5nRhY1sQqZLJGB+aUUPg==" crossorigin="anonymous"> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css" integrity="sha512-H9jrZiiopUdsLpg94A333EfumgUBpO9MdbxStdeITo+KEIMaNfHNvwyjjDJb+ERPaRS6DpyRlKbvPUasNItRyw==" crossorigin="anonymous"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/atom-one-light.min.css" crossorigin="anonymous" title="hl-light"> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/atom-one-light.min.css" crossorigin="anonymous" title="hl-dark" disabled> |
| |
| |
| |
| |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin="anonymous"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.2.2/lazysizes.min.js" integrity="sha512-TmDwFLhg3UA4ZG0Eb4MIyT1O1Mb+Oww5kFG0uHqXsdbyZz9DcvYQhKpGgNkamAI6h2lGGZq2X8ftOJvF/XjTUg==" crossorigin="anonymous" async></script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.1.0/es5/tex-chtml.min.js" integrity="sha512-uwL1UtpYdWra2iqJlAW8Ts0s9Os6IxWLDJDF/BnWdhDmT7DEMFba3GPsFwmV3QiTNcUyl2GB5vsgycB/MOvo9g==" crossorigin="anonymous" async></script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,400i,700,700i%7CRoboto+Mono&display=swap"> |
| |
| |
| |
| |
| |
| |
| <link rel="stylesheet" href="/mosaic/css/academic.css"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <link rel="manifest" href="/mosaic/index.webmanifest"> |
| <link rel="icon" type="image/png" href="/mosaic/images/icon_hu6bdfb97c7e23190c70e41ca0e15a9fce_30436_32x32_fill_lanczos_center_2.png"> |
| <link rel="apple-touch-icon" type="image/png" href="/mosaic/images/icon_hu6bdfb97c7e23190c70e41ca0e15a9fce_30436_192x192_fill_lanczos_center_2.png"> |
| |
| <link rel="canonical" href="https://www.eclipse.org/mosaic/docs/simulators/network_simulator_cell/"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <meta property="twitter:card" content="summary"> |
| |
| <meta property="og:site_name" content="Eclipse MOSAIC – A Multi-Domain and Multi-Scale Simulation Framework for Connected and Automated Mobility"> |
| <meta property="og:url" content="https://www.eclipse.org/mosaic/docs/simulators/network_simulator_cell/"> |
| <meta property="og:title" content="Network Simulator Cell | Eclipse MOSAIC – A Multi-Domain and Multi-Scale Simulation Framework for Connected and Automated Mobility"> |
| <meta property="og:description" content="The built-in Eclipse MOSAIC Cell Simulator enables the applications to use cellular network communication. The simulation of cellular communication in Eclipse MOSAIC consists of two parts: |
| The Cellular Simulator itself and The applications that can communicate over cellular networks in the Application Simulator These changes are done in a generic way, making the cellular simulator exchangeable."><meta property="og:image" content="https://www.eclipse.org/mosaic/images/logo.svg"> |
| <meta property="twitter:image" content="https://www.eclipse.org/mosaic/images/logo.svg"><meta property="og:locale" content="en-us"> |
| |
| |
| <meta property="article:published_time" content="2019-05-05T00:00:00+01:00"> |
| |
| <meta property="article:modified_time" content="2019-05-05T00:00:00+01:00"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <title>Network Simulator Cell | Eclipse MOSAIC – A Multi-Domain and Multi-Scale Simulation Framework for Connected and Automated Mobility</title> |
| |
| </head> |
| |
| <body id="top" data-spy="scroll" data-offset="70" data-target="#TableOfContents" class=" page-mosaic page-docs page-simulators page-network_simulator_cell "> |
| |
| <aside class="search-results" id="search"> |
| <div class="container"> |
| <section class="search-header"> |
| |
| <div class="row no-gutters justify-content-between mb-3"> |
| <div class="col-10 col-md-3"> |
| <div class="logo" style="background-image: url(/mosaic/img/logos/mosaic/EclipseMOSAIC-Logo-RGB-positiv.svg)"></div> |
| </div> |
| <div class="col-2 col-md-4 col-search-close"> |
| <a class="js-search" href="#"><i class="fas fa-times-circle text-muted" aria-hidden="true"></i></a> |
| </div> |
| </div> |
| |
| <div id="search-box"> |
| |
| <input name="q" id="search-query" placeholder="Search..." autocapitalize="off" |
| autocomplete="off" autocorrect="off" spellcheck="false" type="search"> |
| |
| </div> |
| |
| </section> |
| <section class="section-search-results"> |
| |
| <div id="search-hits"> |
| |
| </div> |
| |
| </section> |
| </div> |
| </aside> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <nav class="navbar navbar-expand-lg navbar-light compensate-for-scrollbar" id="navbar-main"> |
| <div class="container"> |
| |
| <div class="d-none d-lg-inline-flex"> |
| <a style="visibility:visible;" class="navbar-brand" href="/mosaic/"><img src="/mosaic/images/logo.svg" alt="Eclipse MOSAIC – A Multi-Domain and Multi-Scale Simulation Framework for Connected and Automated Mobility"></a> |
| </div> |
| |
| |
| |
| <button type="button" class="navbar-toggler" data-toggle="collapse" |
| data-target="#navbar-content" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"> |
| <span><i class="fas fa-bars"></i></span> |
| </button> |
| |
| |
| |
| <div class="navbar-brand-mobile-wrapper d-inline-flex d-lg-none"> |
| <a class="navbar-brand" href="/mosaic/"><img src="/mosaic/images/logo.svg" alt="Eclipse MOSAIC – A Multi-Domain and Multi-Scale Simulation Framework for Connected and Automated Mobility"></a> |
| </div> |
| |
| |
| |
| |
| <div class="navbar-collapse main-menu-item collapse justify-content-start" id="navbar-content"> |
| |
| |
| <ul class="navbar-nav d-md-inline-flex"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="nav-item"> |
| <a class="nav-link " href="/mosaic/about"><span>About</span></a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="nav-item"> |
| <a class="nav-link " href="/mosaic/news"><span>News</span></a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="nav-item"> |
| <a class="nav-link active" href="/mosaic/docs"><span>Documentation</span></a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="nav-item"> |
| <a class="nav-link " href="/mosaic/tutorials"><span>Tutorials</span></a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="nav-item"> |
| <a class="nav-link " href="/mosaic/download"><span>Download</span></a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="nav-item"> |
| <a class="nav-link " href="/mosaic/community"><span>Community</span></a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| </div> |
| |
| <ul class="nav-icons navbar-nav flex-row ml-auto d-flex pl-md-2"> |
| |
| <li class="nav-item"> |
| <a class="nav-link js-search" href="#" aria-label="Search"><i class="fas fa-search" aria-hidden="true"></i></a> |
| </li> |
| |
| |
| |
| |
| |
| <li class="nav-item "> |
| <a href="https://github.com/eclipse/mosaic" target="blank"> |
| <i class="fab fa-github" aria-hidden="true"></i> |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| |
| </div> |
| </nav> |
| |
| |
| |
| |
| <div class="docs container"> |
| <div class="row flex-xl-nowrap"> |
| <div class="docs-sidebar col-12 col-md-3 col-xl-3"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <form class="docs-search d-flex align-items-center"> |
| <button class="btn docs-toggle d-md-none p-0 mr-3" type="button" data-toggle="collapse" data-target="#docs-nav" aria-controls="docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> |
| <span><i class="fas fa-bars"></i></span> |
| </button> |
| |
| |
| <input name="q" type="search" class="form-control" placeholder="Search..." autocomplete="off"> |
| |
| </form> |
| |
| <nav class="collapse docs-links" id="docs-nav"> |
| |
| |
| |
| |
| |
| |
| <div class="docs-toc-item"> |
| <a class="docs-toc-link" href="/mosaic/docs/getting_started">Getting Started</a> |
| <ul class="nav docs-sidenav"> |
| |
| <li > |
| <a href="/mosaic/docs/getting_started/">Download</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/getting_started/run_mosaic/">Run Eclipse MOSAIC</a> |
| </li> |
| |
| </ul> |
| |
| |
| </div> |
| |
| <div class="docs-toc-item"> |
| <a class="docs-toc-link" href="/mosaic/docs/run_simulations">Run Simulations</a> |
| <ul class="nav docs-sidenav"> |
| |
| <li > |
| <a href="/mosaic/docs/run_simulations/">Run a single simulation</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/run_simulations/results/">Simulation Results</a> |
| </li> |
| |
| </ul> |
| |
| |
| </div> |
| |
| <div class="docs-toc-item"> |
| <a class="docs-toc-link" href="/mosaic/docs/visualization">Visualization</a> |
| <ul class="nav docs-sidenav"> |
| |
| <li > |
| <a href="/mosaic/docs/visualization/">WebSocket Visualizer</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/visualization/filevis/">File Output</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/visualization/statistics/">Statistics Output</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/visualization/itef/">ITEF</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/visualization/phabmap/">PHABMap</a> |
| </li> |
| |
| </ul> |
| |
| |
| </div> |
| |
| <div class="docs-toc-item"> |
| <a class="docs-toc-link" href="/mosaic/docs/simulators">Simulators</a> |
| <ul class="nav docs-sidenav"> |
| |
| <li > |
| <a href="/mosaic/docs/simulators/">Overview</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/simulators/application_simulator/">Application Simulator</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/simulators/traffic_simulator_sumo/">Traffic - Eclipse SUMO</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/simulators/network_simulator_omnetpp/">Network - OMNeT++</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/simulators/network_simulator_ns3/">Network - ns-3</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/simulators/network_simulator_sns/">Network - SNS</a> |
| </li> |
| |
| <li class="active"> |
| <a href="/mosaic/docs/simulators/network_simulator_cell/">Network - Cell</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/simulators/environment_simulator/">Environment Simulator</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/simulators/battery_simulator/">Battery Simulator</a> |
| </li> |
| |
| </ul> |
| |
| |
| </div> |
| |
| <div class="docs-toc-item"> |
| <a class="docs-toc-link" href="/mosaic/docs/building_scenarios">Building Scenarios</a> |
| <ul class="nav docs-sidenav"> |
| |
| <li > |
| <a href="/mosaic/docs/building_scenarios/">Simulation Scenarios</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/building_scenarios/scenario_convert/">Scenario Convert</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/building_scenarios/scenario_configuration/">Additional Scenario Configuration</a> |
| </li> |
| |
| </ul> |
| |
| |
| </div> |
| |
| <div class="docs-toc-item"> |
| <a class="docs-toc-link" href="/mosaic/docs/develop_applications">Create Applications</a> |
| <ul class="nav docs-sidenav"> |
| |
| <li > |
| <a href="/mosaic/docs/develop_applications/">Basics</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/develop_applications/communication/">V2X Communication</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/develop_applications/event_scheduler/">Event Scheduling</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/develop_applications/road_traffic/">Scenario Database</a> |
| </li> |
| |
| </ul> |
| |
| |
| </div> |
| |
| <div class="docs-toc-item"> |
| <a class="docs-toc-link" href="/mosaic/docs/extending_mosaic">Extending Eclipse MOSAIC</a> |
| <ul class="nav docs-sidenav"> |
| |
| <li > |
| <a href="/mosaic/docs/extending_mosaic/">Core Concepts</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/extending_mosaic/simulator_coupling/">Simulator Coupling</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/extending_mosaic/interactions/">Interactions</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/extending_mosaic/application_ambassador_details/">Application Ambassador</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/extending_mosaic/sumo_ambassador_details/">Sumo Ambassador</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/extending_mosaic/omnetpp_details/">OMNeT++ Federate</a> |
| </li> |
| |
| <li > |
| <a href="/mosaic/docs/extending_mosaic/delay_models/">Delay Models</a> |
| </li> |
| |
| </ul> |
| |
| |
| </div> |
| |
| <div class="docs-toc-item"> |
| <a class="docs-toc-link" href="/mosaic/docs/api_docs/">API Documentation</a> |
| <ul class="nav docs-sidenav"> |
| |
| <li > |
| <a href="/mosaic/docs/api_docs/">Javadoc</a> |
| </li> |
| |
| </ul> |
| |
| |
| </div> |
| |
| |
| </nav> |
| |
| </div> |
| |
| |
| <div class="docs-toc d-none d-xl-block col-xl-2"> |
| <ul class="nav toc-top"> |
| <li><a href="#" id="back_to_top" class="docs-toc-title">Contents</a></li> |
| </ul> |
| |
| <nav id="TableOfContents"> |
| <ul> |
| <li> |
| <ul> |
| <li><a href="#cellambassador-folder-structure">CellAmbassador folder structure</a></li> |
| <li><a href="#installation">Installation</a></li> |
| <li><a href="#configuration">Configuration</a></li> |
| <li><a href="#server-configuration">Server configuration</a></li> |
| <li><a href="#delay-regions">Delay regions</a></li> |
| <li><a href="#transmission-simulation">Transmission simulation</a></li> |
| <li><a href="#operation">Operation</a></li> |
| </ul> |
| </li> |
| </ul> |
| </nav> |
| |
| |
| </div> |
| |
| |
| <style> |
| @media (min-width:1140px) { |
| .docs-sidebar { |
| flex: 0 1 320px; |
| } |
| .docs-toc { |
| flex: 0 1 280px; |
| } |
| main.docs-content.no-docs-toc { |
| padding-bottom: 0 !important; |
| max-width: calc(100% - 320px) !important; |
| flex: 0 1 calc(100% - 320px); |
| width: 100%; |
| } |
| main.docs-content { |
| padding-bottom: 0 !important; |
| max-width: calc(100% - 600px) !important; |
| flex: 0 1 calc(100% - 600px); |
| width: 100%; |
| } |
| } |
| @media (max-width: 770px) { |
| main.docs-content { |
| max-width: 100% !important; |
| width: 100%; |
| } |
| } |
| @media (min-width: 771px) and(max-width: 1139px) { |
| main.docs-content.no-docs-toc { |
| padding-bottom: 0 !important; |
| max-width: calc(100% - 320px) !important; |
| width: 100%; |
| } |
| } |
| </style> |
| <main class="docs-content col-12 col-md-9 col-xl-auto py-md-3 pl-md-4" role="main"> |
| |
| <article class="article"> |
| |
| <div class="docs-article-container"> |
| <h1>Network Simulator Cell</h1> |
| |
| <div class="article-style"> |
| <p>The built-in Eclipse MOSAIC Cell Simulator enables the applications to use cellular network communication. |
| The simulation of cellular communication in Eclipse MOSAIC consists of two parts:</p> |
| <ol> |
| <li>The Cellular Simulator itself and</li> |
| <li>The applications that can communicate over cellular networks in the Application Simulator</li> |
| </ol> |
| <p>These changes are done in a generic way, making the cellular simulator exchangeable. Users interested |
| in a different kind of simulation of cellular communication may use other simulators and develop |
| ambassadors connecting them to Eclipse MOSAIC.</p> |
| <p>The Cellular Simulator in the current state consists of three main modules:</p> |
| <ol> |
| <li>UplinkModule</li> |
| <li>GeocasterModule</li> |
| <li>DownlinkModule</li> |
| </ol> |
| <p>The Geocaster module simulates a mandatory component for ITS communication. It is inspired by |
| the several architectures from research projects as simTD or CONVERGE to enable ITS use cases over |
| cellular networks. It mainly takes over the task of an addressing and routing component with geographic |
| knowledge to support geo-addressing. However, it also supports regular topological addressing. |
| The Uplink and DownlinkModule are responsible for the transmission simulation. They account for the |
| aspects of transmission delays, packet losses and available data rates. In this context,Uplink and Downlink |
| always refer to the direction towards respectively from the Geocaster. For instance, a transmission |
| from an Internet-based server towards a vehicle would include an Uplink between the server and the |
| Geocaster and a Downlink between the Geocaster and the vehicle. While the Uplink direction only allows |
| point-to-point communication (Unicast), the Downlink supports point-to-point (Unicast) as well as |
| point-to-multipoint (Multicast).</p> |
| <h3 id="cellambassador-folder-structure">CellAmbassador folder structure</h3> |
| <p>The Eclipse MOSAIC Cell simulator can be configured via three distinct configuration files, which can be |
| found within the scenarios' folder structure:</p> |
| <pre><code class="language-FOLDER">└─ <scenario_name> |
| └─ cell |
| ├─ cell_config.json ................ Cell ambassador configuration file |
| ├─ network.json ..................... Network configuration file |
| └─ regions.json ..................... Regions configuration file |
| </code></pre> |
| <p>The network and regions configuration files are referenced in the cellular ambassador configuration |
| file.</p> |
| <h3 id="installation">Installation</h3> |
| <p>This simulator does not need to be installed. It is delivered as part of the Eclipse MOSAIC-installation package.</p> |
| <h3 id="configuration">Configuration</h3> |
| <p>We provide a cellular configuration file in the example scenarios of Tiergarten and Barnim. Please note |
| that in the default configuration of this scenario the Cellular Simulator is deactivated. To activate the |
| cellular simulator just enable the <code>cell</code> federate in the <code>scenario_config.json</code>:</p> |
| <pre><code class="language-json">"federates": { |
| ... |
| "cell": true, |
| ... |
| } |
| </code></pre> |
| <p>The central configuration for the cellular simulator in the file |
| <code><scenarioName>/cell/cell_config.json</code> could look like this:</p> |
| <pre><code class="language-Json">{ |
| "debugGeocasting": false, |
| "visualizeRegions": true, |
| "networkConfigurationFile": "network.json ", |
| "regionConfigurationFile": "regions.json " |
| } |
| </code></pre> |
| <p>The <code>visualizeRegions-option</code> from the <code>cell_config.json</code> is used to write a KML-file that visualizes the |
| used cell regions. Google Earth can be used to display it.</p> |
| <p>The configuration for the global network in the cellular simulator in the file |
| <code><scenarioName>/cell/network.json</code> could look like this:</p> |
| <pre><code class="language-json">{ |
| "globalNetwork": { |
| "uplink": { |
| "delay": { |
| "type": "ConstantDelay", |
| "delay": "100 ms" |
| }, |
| "transmission": { |
| "lossProbability": 0.0, |
| "maxRetries": 2 |
| }, |
| "capacity": 28000000 |
| }, |
| "downlink": { |
| "unicast": { |
| "delay": { |
| "type": "ConstantDelay", |
| "delay": "50 ms" |
| }, |
| "transmission": { |
| "lossProbability": 0.0, |
| "maxRetries": 2 |
| } |
| }, |
| "multicast": { |
| "delay": { |
| "type": "ConstantDelay", |
| "delay": "100 ms" |
| }, |
| "transmission": { |
| "lossProbability": 0.0 |
| }, |
| "usableCapacity": 0.6 |
| }, |
| "capacity": 42200000 |
| } |
| } |
| } |
| </code></pre> |
| <h3 id="server-configuration">Server configuration</h3> |
| <p>MOSAIC supports a type of simulation units, called servers. Traffic Management Centers are a specialised type of server. |
| What differentiates servers from other units is, that |
| they are treated as having no geographical location and instead are located “inside the internet.”. This concept omits prior shortcoming, |
| where one would have to configure RSU’s as servers.<br> |
| Servers are also configured in the <code>network.json</code> as follows:</p> |
| <pre><code class="language-json">{ |
| "globalNetwork": { |
| [...] |
| }, |
| "servers": { |
| { |
| "id": "TestServer", |
| "uplink": { |
| "delay": { |
| "type": "ConstantDelay", |
| "delay": "200 ms" |
| }, |
| "transmission": { |
| "lossProbability": 0.5, |
| "maxRetries": 2 |
| } |
| }, |
| "downlink": { |
| "unicast": { |
| "delay": { |
| "type": "SimpleRandomDelay", |
| "steps": 5, |
| "minDelay": "100 ms", |
| "maxDelay": "200 ms" |
| }, |
| "transmission": { |
| "lossProbability": 0.1, |
| "maxRetries": 2 |
| } |
| } |
| } |
| }, |
| { |
| [...] |
| } |
| } |
| } |
| </code></pre> |
| <p>Servers get their configuration for the delay and retransmission models from the <code>network.json</code> and the configuration for the |
| capacity-module has to be made from within an application, by activating the <code>CellModule</code> and properly setting the bit rates. |
| This could look as follows:</p> |
| <pre><code class="language-java"> getOs().getCellModule().enable( |
| new CellModuleConfiguration() |
| .maxUlBitrate(10000) |
| .maxDlBitrate(10000) |
| ); |
| </code></pre> |
| <p>For the CellAmbassador to be able to recognize servers, the <code>group</code>-field in the mapping must match the <code>id</code>-field in the <code>network.json</code>, |
| this also allows for multiple servers to utilize the same configuration. A <code>mapping_config.json</code> using the configuration from |
| above could look as follows:</p> |
| <pre><code class="language-json">{ |
| ..., |
| "tmcs": [ |
| { |
| "group": "TestServer", |
| "applications": [ "TestApplication" ], |
| "inductionLoops": [ ], |
| "laneAreaDetectors": [ ] |
| } |
| ], |
| "servers": [ |
| { |
| "group": "TestServer", |
| "applications": [ "TestApplication" ] |
| } |
| ], |
| ... |
| } |
| </code></pre> |
| <blockquote> |
| <p>Note that all bandwidths are given in bit per second and all delays in nanoseconds, unless explicitly defined differently. |
| Also, every json configuration goes through a minifier, so comments are allowed in the configuration files. An example |
| would be the comment before the <code>globalNetwork</code> option.</p> |
| </blockquote> |
| <h3 id="delay-regions">Delay regions</h3> |
| <p>Additionally, the user has the option to define regions with individual delays. This can be used to simulate |
| areas with bad reception, crowded areas etc.</p> |
| <p>The regions should be stored in <code><scenarioName>/cell/regions.json</code>. An |
| example definition for a single region called <code>Ernst-Reuter-Platz</code> could look like this:</p> |
| <pre><code class="language-Json">{ |
| "regions":[ |
| { |
| "id": "Ernst-Reuter-Platz", |
| "area": { |
| "nw": { "lon":13.3249, "lat":52.5131 }, |
| "se": { "lon":13.3273, "lat":52.5125 } |
| }, |
| "uplink": { |
| "delay": { |
| "type": "SimpleRandomDelay", |
| "steps": 4, |
| "minDelay": "50 ms", |
| "maxDelay": "200 ms" |
| }, |
| "transmission": { |
| "lossProbability": 0.8, |
| "maxRetries": 2 |
| }, |
| "capacity": 28000000 |
| }, |
| "downlink": { |
| "unicast": { |
| "delay": { |
| "type": "SimpleRandomDelay", |
| "steps": 3, |
| "minDelay": "100 ms", |
| "maxDelay": "200 ms" |
| }, |
| "transmission": { |
| "maxRetries": 2 |
| } |
| }, |
| "multicast": { |
| "delay": { |
| "type": "SimpleRandomDelay", |
| "steps": 3, |
| "minDelay": "120 ms", |
| "maxDelay": "220 ms" |
| }, |
| "transmission": { |
| "lossProbability": 0.8 |
| }, |
| "usableCapacity": 0.6 |
| }, |
| "capacity": 42200000 |
| } |
| } |
| ] |
| } |
| </code></pre> |
| <p>Note that <code>nw</code> represents the upper-left (north-west) point of the rectangle and <code>se</code> the lower-right (southeast). |
| For further information about the possible options, please refer to the Eclipse MOSAIC API documentation.</p> |
| <p>The actual configuration of the uplink and the downlink modules for each region exhibits the identical |
| format as configuration of the globalNetwork in the <code>network.json</code>.</p> |
| <p>When no regions are found, or if a node (a vehicle) is not within a specified region, the globalNetwork |
| defined in the <code>network.json</code>-File will be used as the delay model.</p> |
| <h3 id="transmission-simulation">Transmission simulation</h3> |
| <p>One of the most important feature of the cellular simulator is an estimation of the delay experienced |
| through the transport over the cellular network.</p> |
| <p>The cellular simulator offers various modes to estimate the delay of the transmissions. The type of |
| estimation is specified with by <code>delayType</code> for the uplink and downlink for each region. You may also refer to the |
| |
| <a href="https://www.eclipse.org/mosaic/docs/extending_mosaic/delay_models/">Delay-Chapter</a>.</p> |
| <ul> |
| <li><code>delay.type = ’ConstantDelay’</code>: The message is transmitted with the latency being exactly equal to delay.</li> |
| <li><code>delay.type = ’SimpleRandomDelay’</code>: The latency can assume different (randomly generated and uniformly distributed) values between |
| <code>minDelay</code> and <code>maxDelay</code>. The number of different values is determined by <code>steps</code>.</li> |
| <li><code>delay.type = ’GammaRandomDelay’</code>: A gamma distribution is used to estimate the latency, with $ \alpha $ = 2 and $ \beta $= 2. The |
| minimal delay <code>minDelay</code> is added to the result. The curve is fitted so that the maximum likelihood for the delay is exactly equal to |
| <code>expDelay</code>.</li> |
| <li><code>delay.type = ’GammaSpeedDelay’</code>: This mode closely resembles the GammaRandomDelay. Additionally, a penalty for the velocity with which |
| the node is moving is calculated. This penalty is then added to the original delay. The GammaRandomDelay and the GammaSpeedDelay are |
| derived from a measurement campaign during a research project at the DCAITI.</li> |
| </ul> |
| <p>The two different modes for the downlink are <code>unicast</code> and <code>multicast</code> which are configured separately. Multicast aims to simulate the |
| features of Multimedia Broadcast Multicast Service (MBMS). The main difference in terms of the transmission for unicast and multicast |
| is the handling of undeliverable messages. For unicast, the options <code>lossProbability</code> and <code>maxRetries</code> are used. Pr is short for |
| packet retransmit and denotes the probability for a failed delivery and a subsequent retransmit. The maximum number of retries |
| for the retransmission is configured through the <code>maxRetries</code>-option. The probability of a successful |
| retransmit is recalculated on every try.</p> |
| <p>In case of multicast the <code>lossProbability</code> is used as packet loss rate. The value is factored into the delay calculation. |
| In contrast to the unicast, just one transmission attempt is made for multicast.</p> |
| <h3 id="operation">Operation</h3> |
| <p>Beside the transmission simulation, the Addressing and Routing is the other important aspect of the Cellular Simulator. This task is enabled |
| by the Geocaster.</p> |
| <p>The Geocaster evaluates the message headers for cellular messages, which are created by the communicating applications in the |
| Application Simulator.</p> |
| <p>It supports the following addressing and casting schemes.</p> |
| <p> |
| <a href="https://www.eclipse.org/mosaic/docs/develop_applications/communication/#cellular-topocast"><strong><code>CellTopocast</code></strong></a> is the normal unicast, where the Geocaster simply resolves |
| the single receiver via theIPResolver. Hence, the CellTopocast directly routes the message further. Currently, Topocast doesn’t allow |
| broadcast or anycast addresses, but any transmission protocols (tcp, udp).</p> |
| <p> |
| <a href="https://www.eclipse.org/mosaic/docs/develop_applications/communication/#cellular-geocast"><strong><code>CellGeoUnicast</code></strong></a> addresses every node in the destination area individually. |
| In this way it takes a geographic address and results in a loop to generate multiple unicasts.</p> |
| <p> |
| <a href="https://www.eclipse.org/mosaic/docs/develop_applications/communication/#cellular-geobroadcast"><strong><code>CellGeoBroadcast</code></strong></a>, which is basically MBMS, uses one broadcast to all |
| nodes in the destined regions.The MBMS uses the different transmission mode of multicast in the downlink. CellGeoUnicast as well as |
| CellGeoBroadcast require broadcast, but don’t allow tcp (as ack for broadcasts is denied).</p> |
| |
| </div> |
| |
| |
| |
| |
| |
| |
| <div class="article-widget"> |
| |
| <div class="post-nav row col-12"> |
| |
| |
| |
| <div class="post-nav-item col-6"> |
| <div class="meta-nav">Previous</div> |
| <a href="/mosaic/docs/simulators/network_simulator_sns/" rel="next">Simple Network Simulator (SNS)</a> |
| </div> |
| |
| |
| |
| <div class="post-nav-item col-6"> |
| <div class="meta-nav">Next</div> |
| <a href="/mosaic/docs/simulators/environment_simulator/" rel="prev">Environment Simulator</a> |
| </div> |
| |
| </div> |
| |
| </div> |
| |
| </div> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <footer class="site-footer"> |
| <div class="row"> |
| |
| |
| <div class="col-sm-4 mb-3 mb-md-0"> |
| <b>Eclipse MOSAIC</b> |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/mosaic/download/" title="Download Eclipse MOSAIC" > |
| |
| Download Eclipse MOSAIC |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/mosaic/docs" title="Documentation" > |
| |
| Documentation |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/mosaic/tutorials" title="Tutorials" > |
| |
| Tutorials |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/mosaic/community/#projects" title="Projects" > |
| |
| Projects |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/mosaic/publications" title="Publications" > |
| |
| Publications |
| |
| </a> |
| </li> |
| |
| |
| </ul> |
| |
| </div> |
| |
| |
| |
| <div class="col-sm-4 mb-3 mb-md-0"> |
| <b>Community</b> |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/mosaic/community" title="Eclipse MOSAIC Community" > |
| |
| Eclipse MOSAIC Community |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/mosaic/contribution" title="How to contribute" > |
| |
| How to contribute |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="https://github.com/eclipse/mosaic" title="Github" target="_blank" rel="noopener"> |
| |
| Github |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="/mosaic/get_in_contact" title="Contact & Mailing list" > |
| |
| Contact & Mailing list |
| |
| </a> |
| </li> |
| |
| |
| </ul> |
| |
| </div> |
| |
| |
| |
| <div class="col-sm-4 mb-3 mb-md-0"> |
| <b>Eclipse Foundation</b> |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="https://www.eclipse.org/" title="About Eclipse Foundation" target="_blank" rel="noopener"> |
| |
| About Eclipse Foundation |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="https://www.eclipse.org/legal/privacy.php" title="Privacy Policy" target="_blank" rel="noopener"> |
| |
| Privacy Policy |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="https://www.eclipse.org/legal/termsofuse.php" title="Website terms of use" target="_blank" rel="noopener"> |
| |
| Website terms of use |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="https://www.eclipse.org/legal/copyright.php" title="Copyright" target="_blank" rel="noopener"> |
| |
| Copyright |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li> |
| <a href="https://www.eclipse.org/legal" title="Legal" target="_blank" rel="noopener"> |
| |
| Legal |
| |
| </a> |
| </li> |
| |
| |
| </ul> |
| |
| </div> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </div> |
| <div class="row justify-content-center mt-3 position-relative"> |
| <p class="powered-by text-center font-italic mb-0 pb-0"> |
| Powered by the |
| <a href="https://sourcethemes.com/academic/" target="_blank" rel="noopener">Academic theme</a> for |
| <a href="https://gohugo.io" target="_blank" rel="noopener">Hugo</a>. |
| <br> |
| Header image © fanjianhua/ iStock |
| </p> |
| |
| </div> |
| </footer> |
| |
| |
| |
| </article> |
| </main> |
| </div> |
| </div> |
| |
| |
| |
| |
| |
| |
| |
| <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh" crossorigin="anonymous"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/4.1.4/imagesloaded.pkgd.min.js" integrity="sha512-S5PZ9GxJZO16tT9r3WJp/Safn31eu8uWrzglMahDT4dsmgqWonRY9grk3j+3tfuPr9WJNsfooOR7Gi7HL5W2jw==" crossorigin="anonymous"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/3.0.6/isotope.pkgd.min.js" integrity="sha512-Zq2BOxyhvnRFXu0+WE6ojpZLOU2jdnqbrM1hmVdGzyeCa1DgM3X5Q4A/Is9xA1IkbUeDd7755dNNI/PzSf2Pew==" crossorigin="anonymous"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js" integrity="sha512-uURl+ZXMBrF4AwGaWmEetzrd+J5/8NRkWAvJx5sbPSSuOb0bZLqf+tOzniObO00BjHa/dD7gub9oCGMLPQHtQA==" crossorigin="anonymous"></script> |
| |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.4.8/mermaid.min.js" integrity="sha512-1tS1YUns336Mtxl+vkaLcADPwE1CPNVy3WEf7nrI7DGMMb6/FAVBgL2IzAWVBkB6vVuK94s2zVoiXcw1QZ9S1g==" crossorigin="anonymous" title="mermaid"></script> |
| |
| |
| |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js" integrity="sha512-1LdB3V708w6G4QRl7NsVdTr7MDibyRXr9stQZ+EGjEE0ZPMZkA//ir7kCWmFyxdAJNIRXdR/ZeJmCV0boyiCXw==" crossorigin="anonymous"></script> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/languages/java.min.js"></script> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/languages/json.min.js"></script> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/languages/xml.min.js"></script> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/languages/shell.min.js"></script> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/languages/dos.min.js"></script> |
| |
| |
| |
| |
| |
| |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.js" integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og==" crossorigin="anonymous"></script> |
| |
| |
| |
| |
| <script>const code_highlighting = true;</script> |
| |
| |
| |
| |
| <script>const isSiteThemeDark = false;</script> |
| |
| |
| |
| |
| |
| |
| |
| |
| <script> |
| const search_config = {"indexURI":"/mosaic/index.json","minLength":1,"threshold":0.3}; |
| const i18n = {"no_results":"No results found","placeholder":"Search...","results":"results found"}; |
| const content_type = { |
| 'post': "Posts", |
| 'project': "Projects", |
| 'publication' : "Publications", |
| 'talk' : "Talks" |
| }; |
| </script> |
| |
| |
| |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.1/anchor.min.js" integrity="sha512-aZotBPy6dqn8yVaLJwSrkJ+QxuxV695A4dgodAMvTU5JyNi5mhrr+LeaD3GSS+lx1SMFKNs0tu5ZMJEgNZQP2Q==" crossorigin="anonymous"></script> |
| <script> |
| anchors.add(); |
| </script> |
| |
| |
| |
| |
| <script id="search-hit-fuse-template" type="text/x-template"> |
| <div class="search-hit" id="summary-{{key}}"> |
| <div class="search-hit-content"> |
| <div class="search-hit-name"> |
| <a href="{{relpermalink}}">{{title}}</a> |
| <div class="article-metadata search-hit-type">{{type}}</div> |
| <p class="search-hit-description">{{snippet}}</p> |
| </div> |
| </div> |
| </div> |
| </script> |
| |
| |
| |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/3.2.1/fuse.min.js" integrity="sha512-o38bmzBGX+hD3JHWUFCDA09btWaqrNmoJ3RXLlrysA7PP01Kgs4UlE4MhelE1v5dJR3+cxlR4qQlotsW7jKsnw==" crossorigin="anonymous"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js" integrity="sha512-mhbv5DqBMgrWL+32MmsDOt/OAvqr/cHimk6B8y/bx/xS88MVkYGPiVv2ixKVrkywF2qHplNRUvFsAHUdxZ3Krg==" crossorigin="anonymous"></script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script type="application/javascript" src="/mosaic/js/academic.min.1824b36a85a484362f116f1e24481eb9.js"></script> |
| |
| |
| |
| <script type="application/javascript" src="/mosaic/js/mosaic-wg-cards.js"></script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <div id="modal" class="modal fade" role="dialog"> |
| <div class="modal-dialog"> |
| <div class="modal-content"> |
| <div class="modal-header"> |
| <h5 class="modal-title">Cite</h5> |
| <button type="button" class="close" data-dismiss="modal" aria-label="Close"> |
| <span aria-hidden="true">×</span> |
| </button> |
| </div> |
| <div class="modal-body"> |
| <pre><code class="tex hljs"></code></pre> |
| </div> |
| <div class="modal-footer"> |
| <a class="btn btn-outline-primary my-1 js-copy-cite" href="#" target="_blank"> |
| <i class="fas fa-copy"></i> Copy |
| </a> |
| <a class="btn btn-outline-primary my-1 js-download-cite" href="#" target="_blank"> |
| <i class="fas fa-download"></i> Download |
| </a> |
| <div id="modal-error"></div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| </body> |
| </html> |