Eclipse MOSAIC is a multi-scale simulation framework in the field of smart and connected mobility. It allows to couple simulators from various domains towards a comprehensive simulation tool. Data exchange and time management is implemented by the Runtime Infrastructure (RTI), which is the heart of MOSAIC. Simulation models are coupled to the RTI using HLA inspired interfaces; Each simulator is wrapped into a "Federate" object which is linked to an "Ambassador" which is directly coupled with the RTI. Currently, the following simulators are coupled with the MOSAIC RTI:
- MOSAIC Application (application simulation)
- Eclipse SUMO (traffic simulation)
- OMNeT++ (communication simulation)
- ns-3 (communication simulation)
- MOSAIC Cell Simulator (cellular communication simulation)
- MOSAIC Simple Network Simulator (communication simulation)
- MOSAIC Environment (environment and event simulation)
- MOSAIC Output Generator (evaluation and visualization)
The project is a Maven based multi-module project and has its child modules organized in three main categories:
- MOSAIC RTI: modules providing the runtime infrastructure API and implementation
- MOSAIC Libraries: mathematics, spatial, routing, utilities, communication models, and data exchange
- MOSAIC Ambassadors: simulators and couplings which integrate first bunch of simulation models to Eclipse MOSAIC
This repository contains the Essential edition of Eclipse MOSAIC, that is, the runtime infrastructure, the core libraries, and various implementations of simulators or couplings to existing ones. All features included in this version of Eclipse MOSAIC are sufficient for most use-cases in the field of smart and connected mobility. Additional simulators and assessment features are provided by Fraunhofer FOKUS on a commercial basis.
We are available for all kind of questions regarding Eclipse MOSAIC via mosaic@fokus.fraunhofer.de
For a successful build you need the following software to be installed:
- Maven 3.1.x or higher.
- Java 8 or 11 - We recommend using the Adopt OpenJDK.
- SUMO 1.7.0 - Additionally, the environment variable
SUMO_HOME
should be configured properly.
Eclipse MOSAIC is a Java base project using Apache Maven for build and dependency management.
Once installed, you can build Eclipse MOSAIC using the following command:
mvn clean install
This command executes all tests as well. In order to skip test execution, the following command succeeds:
mvn install -DskipTests
After building, a MOSAIC bundle including a start script and all necessary configurations is located in the bundle\target
directory.
After extracting this bundle to an arbitrary path, Eclipse MOSAIC can be executed using:
mosaic.sh -s HelloWorld
mosaic.bat -s HelloWorld
Besides, the simulation can also be started in your IDE using the main method in org.eclipse.mosaic.starter.MosaicStarter
.
Eclipse MOSAIC is licensed under the Eclipse Public License Version 2.
Before starting with contributions, please see CONTRIBUTING information.