Code Monkey home page Code Monkey logo

mosaic's Introduction

Eclipse MOSAIC Essentials -
The Simulation Suite for Connected and Automated Mobility

License Made with java Size
Build Jenkins Build

Eclipse MOSAIC is a multi-scale simulation framework in the field of smart and connected mobility. It allows coupling 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 simulation models to Eclipse MOSAIC

View our website (https://eclipse.org/mosaic) for further documentation and tutorials.

The Essential edition of 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.

Related repositories

  • Eclipse SUMO is coupled directly using the TraCI interface. We recommend using the SUMO release 1.9.2.
  • The coupling to ns-3 is realized by a federate implementation which can be found in our MOSAIC Addons repository. We currently support ns-3 version 3.28.
  • The coupling to OMNeT++ is implemented in a very similar manner. The corresponding federate implementation can be found in our MOSAIC Addons repository. We currently support OMNeT++ version 5.5 in combination with the INET framework in version 4.1.

Contact

Any questions regarding Eclipse MOSAIC can be asked, discussed, and found in the Discussions section here at GitHub.

For further questions we are available via [email protected]

Prerequisites

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.9.2 - Additionally, the environment variable SUMO_HOME should be configured properly.

Build

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.

License

Eclipse MOSAIC is licensed under the Eclipse Public License Version 2.

Contributing

Before starting with contributions, please see CONTRIBUTING information.

mosaic's People

Contributors

kschrab avatar schwepmo avatar rprotzmann avatar vogtfa avatar felixlutz avatar fhilg avatar paguos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.