blob: b4ae5dc511a9c6f3a5e016ea01fc8cd4be698d8b [file] [log] [blame]
<!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="">
<link rel="alternate" hreflang="en-us" href="https://www.eclipse.org/mosaic/tutorials/getting_started/">
<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="alternate" href="/mosaic/tutorials/getting_started/index.xml" type="application/rss+xml" title="Eclipse MOSAIC – A Multi-Domain and Multi-Scale Simulation Framework for Connected and Automated Mobility">
<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/tutorials/getting_started/">
<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/tutorials/getting_started/">
<meta property="og:title" content="Getting Started with Eclipse MOSAIC | Eclipse MOSAIC – A Multi-Domain and Multi-Scale Simulation Framework for Connected and Automated Mobility">
<meta property="og:description" content=""><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">
<title>Getting Started with Eclipse MOSAIC | 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-tutorials page-getting_started ">
<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-bs-toggle="collapse" data-bs-target="#navbar-content-mobile" 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 id="navbar-content" class="navbar-collapse main-menu-item collapse justify-content-start">
<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 " href="/mosaic/docs/"><span>Documentation</span></a>
</li>
<li class="nav-item">
<a class="nav-link active" 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 id="navbar-content-mobile" class="navbar-collapse main-menu-item collapse justify-content-start d-lg-none">
<ul class="navbar-nav d-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 " href="/mosaic/docs/"><span>Documentation</span></a>
</li>
<li class="nav-item">
<a class="nav-link active" 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>
</div>
</nav>
<div class="universal-wrapper pt-3">
<h1>Getting Started with Eclipse MOSAIC</h1>
</div>
<div class="universal-wrapper">
<div class="article-style"><h1 id="getting-started-with-eclipse-mosaic">Getting Started with Eclipse MOSAIC</h1>
<p>Eclipse MOSAIC can be downloaded as an executable bundle (see
<a href="/mosaic/download/">
our download section
</a>
). This bundle
contains almost everything you need to execute simulation scenarios with Eclipse MOSAIC.</p>
<p>Some prerequisites are required on your machine. Eclipse MOSAIC is a software based on JAVA, and therefore, a
JAVA Runtime Environment or Development Kit is required:</p>
<ul>
<li><input checked="" disabled="" type="checkbox"> <strong>JAVA Runtime Environment</strong> (version 8 minimum and recommended), e.g.
<a href="https://adoptopenjdk.net/?variant=openjdk8&amp;jvmVariant=hotspot" target="_blank" rel="noopener">
AdoptOpenJDK
</a>
</li>
</ul>
<p>In addition, the pre-bundled simulation scenarios are configured to use certain simulators. For traffic simulation, the open-source
traffic-simulator SUMO is required:</p>
<ul>
<li><input checked="" disabled="" type="checkbox"> <strong>Eclipse SUMO</strong> (latest version 1.8.0 recommended),
<a href="https://www.eclipse.org/sumo" target="_blank" rel="noopener">
https://www.eclipse.org/sumo
</a>
.</li>
</ul>
<p>Additional simulators are not required by the pre-bundled scenarios. However, if you plan to simulate communication scenarios
in high detail, the simulators
<a href="/mosaic/docs/simulators/network_simulator_ns3/">
ns-3
</a>
or
<a href="/mosaic/docs/simulators/network_simulator_omnetpp/">
OMNeT++
</a>
are recommended. For that, additional
information can be found in our <strong>
<a href="/mosaic/docs/getting_started/">
documentation
</a>
</strong>.</p>
<h2 id="download-and-install">Download and install</h2>
<ol>
<li><strong>Download the <code>eclipse-mosaic-21.0.zip</code> bundle from
<a href="/mosaic/download/">
our download section
</a>
.</strong></li>
<li>Extract the package to an arbitrary path.</li>
</ol>
<h2 id="run-eclipse-mosaic">Run Eclipse MOSAIC</h2>
<p>Once you&rsquo;ve installed everything, you should be able to run your first simulation. For this, switch to your terminal application and type:</p>
<p>On Unix/Linux:</p>
<pre><code class="language-bash">./mosaic.sh -s Barnim -v
</code></pre>
<p>On Windows:</p>
<pre><code class="language-dos">mosaic.bat -s Barnim -v
</code></pre>
<p>This will execute the
<a href="/mosaic/tutorials/barnim_basic/">
Barnim
</a>
scenario. During the simulation, vehicles drive along the
road and exchange V2X messages between each other. With the <code>-v</code> parameter, a web visualization opens in your default browser. The whole
procedure should look like this:</p>
<figure id="figure-barnim-scenario-executed-with-eclipse-mosaic">
<a data-fancybox="" href="../../docs/getting_started/images/mosaic-barnim.gif" data-caption="Barnim scenario executed with Eclipse MOSAIC">
<img src="../../docs/getting_started/images/mosaic-barnim.gif" alt="" >
</a>
<figcaption data-pre="Figure " data-post=":" class="numbered">
Barnim scenario executed with Eclipse MOSAIC
</figcaption>
</figure>
<p>Further information about the start parameters of MOSAIC can be found in our
<a href="/mosaic/docs/getting_started/run_mosaic/">
documentation
</a>
.</p>
<h2 id="gather-simulation-results">Gather simulation results</h2>
<p>Eclipse MOSAIC generates log files for each simulation run. Log files are generated for the ambassadors of each coupled federate respectively
simulator and for the RTI itself. The log files are stored in the folder <code>&lt;mosaic-root&gt;/logs/log-&lt;timestamp&gt;</code>. For each simulation run a new folder is created.</p>
<pre><code class="language-plaintext">└─ log-&lt;timestamp&gt;
├─ apps
| └─ &lt;unitType&gt;_&lt;unitId&gt; ................. Detailed application specific logs for each unit
| ├─ OperatingSystem.log ............. Detailed operating system logs for the unit
| └─ ExampleApp.log .................. Detailed application specific logs for each application.
├─ Application.log ....................... Information about the application ambassador
├─ Communication.log ...................... (Ad hoc) network simulation ambassador log
├─ CommunicationDetails.log ............... Detailed output of network simulator (ns-3 or OMNeT++)
├─ Mapping.log ............................ Mapping configuration logs
├─ MOSAIC.log ............................. General information, e.g. startup sequence information
├─ Traffic.log ............................ Traffic simulation log (SUMO or others)
└─ output.csv ............................. Recorded data of the integrated File Output Generator
</code></pre>
<p>Further information on log files can be found <a href="/mosaic/docs/getting_started/results" title="here">here</a>.</p>
<p>For uniformly formatted or visually prepared results, Eclipse MOSAIC offers different
Visualizers and Output Generators. For example, the <code>FileOutputGenerator</code> generates a <code>outputs.csv</code> file with detailed outputs of e.g.
vehicle positions, speeds, or message exchanges:</p>
<pre><code class="language-plaintext">CELL_CONFIGURATION;6000000000;veh_0;true;7200000000;1400000000
V2X_MESSAGE_TRANSMISSION;6000000000;DENM;3;rsu_0;52.65027;13.545;0.0;CELL_GEOCAST;/255.255.255.255;null
VEHICLE_UPDATES;7000000000;veh_0;35.501624617716296;186.33236029307432;52.655993308955196;13.569065826100868;0.0;35.501624617716296;-0.6083753822837039;0.0;false;1;4067968_28830219_3290027832_2450938914;0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;false;false;false
VEHICLE_REGISTRATION;7000000000;veh_1;ElectricVehicle;null;Unequipped;5.0;2.5;70.0;2.6;4.5;0.5;1.0;1.0;0.0;1;1;0.0
VEHICLE_UPDATES;8000000000;veh_0;34.978651295430026;186.33236029306624;52.65568017869267;13.569019012494635;0.0;70.48027591314633;-0.5229733222862691;0.0;false;1;4067968_28830219_3290027832_2450938914;0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0;false;false;false
V2X_MESSAGE_TRANSMISSION;8000000000;DENM;4;rsu_0;52.65027;13.545;0.0;CELL_GEOCAST;/255.255.255.255;null
</code></pre>
<p>More information for output generation can be found in our
<a href="/mosaic/docs/visualization/filevis/">
documentation
</a>
.</p>
<h2 id="scenario-configuration">Scenario Configuration</h2>
<p>The configuration of a simulation scenario consists of a detailed description for each coupled simulator. The main configuration file is found under <code>scenario_config.json</code>,
which contains the list of simulators to use for the scenario. This way, simulators can be easily added or removed from the simulation.</p>
<pre><code class="language-json">{
&quot;simulation&quot;: {
&quot;id&quot;: &quot;Barnim&quot;,
&quot;duration&quot;: &quot;1000s&quot;,
&quot;randomSeed&quot;: 268965854,
&quot;projection&quot;: {
&quot;centerCoordinates&quot;: {
&quot;latitude&quot;: 52.511289,
&quot;longitude&quot;: 13.3167457
},
&quot;cartesianOffset&quot;: {
&quot;x&quot;: -385769.05,
&quot;y&quot;: -5819239.29
}
}
},
&quot;federates&quot;: {
&quot;application&quot;: true,
&quot;environment&quot;: false,
&quot;cell&quot;: false,
&quot;ns3&quot;: false,
&quot;omnetpp&quot;: false,
&quot;output&quot;: true,
&quot;sns&quot;: false,
&quot;sumo&quot;: true
}
}
</code></pre>
<p>Furthermore, configuration files exists for each integrated simulator. A minimal simulation scenario consists of the following
files:</p>
<pre><code class="language-plaintext">└─ &lt;scenarioName&gt;
├─ application
| └─ &lt;scenarioName&gt;.db................ Scenario database file
├─ mapping
| └─ mapping_config.json ............. Mapping configuration file
├─ sumo
| └─ &lt;scenarioName&gt;.net.xml .......... SUMO network file
| └─ &lt;scenarioName&gt;.sumocfg .......... SUMO configuration file
└─ scenario_config.json ............... Basic configuration of the simulation scenario
</code></pre>
<p>The scenario database contains a model of the road network (the map), and the mapping configuration
defines all entities present in the scenario, such as vehicles, servers, or road side units. Additionally, necessary
configuration files for the traffic simulator SUMO belong to the scenario folder. Depending on the scope and
complexity of the simulation scenario, additional configuration files would be required. A detailed description of
the structure and configuration possibilities of scenarios and simulators can be found in
our
<a href="/mosaic/docs/building_scenarios/">
documentation
</a>
.</p>
<h2 id="custom-scenarios-and-applications">Custom scenarios and applications</h2>
<p>The main purpose of Eclipse MOSAIC is to prototype and evaluate own use-cases in the field of smart mobility, ITS, and connected and
automated driving. To achieve this, own application models for vehicles, RSUs, or servers can be integrated and tested
with custom simulation scenarios.</p>
<ol>
<li>Use the tool
<a href="/mosaic/docs/building_scenarios/scenario_convert/">
scenario-convert
</a>
to create a custom simulation scenario.
This scenario would include the road network, vehicles and their routes through the network, locations of road side units, communication
properties, and the like.</li>
<li>Implement application models to be integrated with the
<a href="/mosaic/docs/simulators/application_simulator/">
Application Simulator
</a>
.
Applications are
<a href="/mosaic/docs/develop_applications/">
developed
</a>
in JAVA and implement pre-defined interface classes allowing them to have access to entity specific functions, e.g.
for exchanging V2X messages, influencing the vehicle&rsquo;s behavior, or controlling road infrastructure.</li>
<li>Deploy your developed applications onto simulation entities using the
<a href="/mosaic/docs/simulators/application_mapping/">
Mapping Configuration
</a>
principle. Each entity, e.g. vehicle, server, or
RSU, is mapped with an application model developed in the previous step.</li>
<li>Run your simulation and evaluate them with the help of pre-bundled
<a href="/mosaic/docs/visualization/filevis/">
Output Generators
</a>
.</li>
</ol>
<p>Furthermore, the release bundle comes with a set of tutorial scenarios, which are described in detail
in subsequent
<a href="/mosaic/tutorials/">
tutorials
</a>
. Those tutorials can be used to learn the configuration
of scenarios</p>
</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/popper.js/2.6.0/umd/popper.min.js" integrity="sha512-BmM0/BQlqh02wuK5Gz9yrbe7VyIVwOzD1o40yi1IsTjriX/NGF37NyXHfmFzIlMmoSIBXgqDiG1VNU6kB5dBbA==" 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 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.0992ad8b8d033c3858bb90b03966346a.js"></script>
<script type="application/javascript" src="/mosaic/js/mosaic-wg-cards.js"></script>
<script>
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
tooltipTriggerList.map(function (tooltipTriggerEl) {
return new window.bootstrap.Tooltip(tooltipTriggerEl)
})
</script>
<div class="footer-wrap">
<div class="container">
<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 &amp; 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 &#169; fanjianhua/ iStock
</p>
<span class="position-absolute mr-3 mr-md-0" aria-hidden="true" style="right: 0;">
<a href="#" class="back-to-top">
<span class="button_icon">
<i class="fas fa-chevron-up fa-2x"></i>
</span>
</a>
</span>
</div>
</footer>
</div>
</div>
<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">&times;</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>