Skip to content

Commit

Permalink
release: 23.1
Browse files Browse the repository at this point in the history
* [M+] MOSAIC now requires at least Java 11 Runtime Environment to be executed.
* [M+] Improved MOSAIC Tutorials on eclipse.dev/mosaic and related applications.
* [A+] Perception Module leaves experimental phase and is now available per default.
* [A+] New perception modifiers model occlusion based on bounding boxes, and errors on heading and dimension of perceived objects.
* [A+] The application API was extended to get access to the unit's logging directory (e.g. for data export).
* [M+] Mapping of vehicle applications now follows a stochastic distribution per default instead of a repeating pattern (configurable).
* [M-] Fixed that vehicle deceleration values were omitted in specific configuration setups.
* [S+] Import of SUMO net files in Scenario-Convert supports almost any projection now (only UTM was supported).
* [S-] Fixed database type affinities to make scenario-database more robust.
* [T+] Vehicles defined in integrated SUMO scenarios can now be mapped with complex application distributions.
* [T+] Now supports SUMO 1.18.0
* [X+] Path handling in Simulation-Runner is more robust now.

Signed-off-by: Karl Schrab <karl.schrab@fokus.fraunhofer.de>
  • Loading branch information
kschrab authored Oct 6, 2023
1 parent 3551890 commit 509ebc1
Show file tree
Hide file tree
Showing 40 changed files with 81 additions and 43 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
# Changelog Eclipse MOSAIC 23.1 (October 2023)

* [M+] MOSAIC now requires at least Java 11 Runtime Environment to be executed.
* [M+] Improved MOSAIC Tutorials on eclipse.dev/mosaic and related applications.
* [A+] Perception Module leaves experimental phase and is now available per default.
* [A+] New perception modifiers model occlusion based on bounding boxes, and errors on heading and dimension of perceived objects.
* [A+] The application API was extended to get access to the unit's logging directory (e.g. for data export).
* [M+] Mapping of vehicle applications now follows a stochastic distribution per default instead of a repeating pattern (configurable).
* [M-] Fixed that vehicle deceleration values were omitted in specific configuration setups.
* [S+] Import of SUMO net files in Scenario-Convert supports almost any projection now (only UTM was supported).
* [S-] Fixed database type affinities to make scenario-database more robust.
* [T+] Vehicles defined in integrated SUMO scenarios can now be mapped with complex application distributions.
* [T+] Now supports SUMO 1.18.0
* [X+] Path handling in Simulation-Runner is more robust now.

# Changelog Eclipse MOSAIC 23.0 (April 2023)

* [A+] Perceived objects provide dimension information (length, width, height).
Expand Down
2 changes: 1 addition & 1 deletion NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Eclipse, and the Eclipse Logo are registered trademarks of the Eclipse Foundatio

## Copyright

* Copyright 2020-2022 Fraunhofer FOKUS
* Copyright 2020-2023 Fraunhofer FOKUS

All rights reserved. All content is the property of the respective authors or their employers.
For more information regarding authorship of content, please consult the listed source code repository logs.
Expand Down
2 changes: 1 addition & 1 deletion app/tutorials/example-applications/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion app/tutorials/highway-management/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion app/tutorials/traffic-light-communication/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion app/tutorials/weather-warning/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion bundle/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion bundle/src/assembly/resources/fed/ns3/ns3_installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ ns3_scratch="${ns3_simulator_folder}/scratch"
ns3_source="${ns3_simulator_folder}/src"

####### semi automatic parameters ########
ns3_federate_url="https://github.com/mosaic-addons/ns3-federate/archive/refs/tags/23.0.zip"
ns3_federate_url="https://github.com/mosaic-addons/ns3-federate/archive/refs/tags/23.1.zip"
ns3_url="https://www.nsnam.org/releases/$ns3_version_affix.tar.bz2"

###### more automatic parameters #########
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ check_shell
required_programs=( unzip tar bison flex protoc gcc python )
required_libraries=( "libprotobuf-dev >= 3.7.0" "libxml2-dev" )

omnet_federate_url="https://github.com/mosaic-addons/omnetpp-federate/archive/refs/tags/23.0.zip"
omnet_federate_url="https://github.com/mosaic-addons/omnetpp-federate/archive/refs/tags/23.1.zip"
omnet_src_url="https://github.com/omnetpp/omnetpp/releases/download/omnetpp-5.5.1/omnetpp-5.5.1-src-linux.tgz"
inet_src_url="https://github.com/inet-framework/inet/releases/download/v4.1.1/inet-4.1.1-src.tgz"

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<output id="websocket" enabled="true" loader="org.eclipse.mosaic.fed.output.generator.websocket.WebsocketVisualizerLoader">
<synchronized>true</synchronized>
<port>46587</port>
<subscriptions>
<subscription id="VehicleUpdates" enabled="true"/>
<subscription id="V2xMessageReception" enabled="true"/>
<subscription id="V2xMessageTransmission" enabled="true"/>
<subscription id="VehicleRegistration" enabled="true"/>
<subscription id="RsuRegistration" enabled="true"/>
</subscriptions>
</output>
</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"randomSeed": 212323853,
"projection": {
"centerCoordinates": {
"latitude": 52.63,
"longitude": 13.56
"latitude": 53.56,
"longitude": 9.98
},
"cartesianOffset": {
"x": -563984.16,
Expand All @@ -30,6 +30,7 @@
"sns": false,
"ns3": false,
"omnetpp": false,
"output": true,
"sumo": true
}
}
2 changes: 1 addition & 1 deletion fed/mosaic-application/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ public BoundingBoxOcclusion() {
*
* @param pointsPerSide the number of points that will be evaluated per object side (corners count towards 2 edges)
* @param detectionThreshold how many points have to be visible in order for an object to be treated as detected
*
* @throws IllegalArgumentException if pointsPerSide or detectionThreshold is configured wrongly
*/
public BoundingBoxOcclusion(int pointsPerSide, int detectionThreshold) {
if (pointsPerSide < 2) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@
public class HeadingModifier implements PerceptionModifier {

/**
* Default standard deviation for heading error
* Default standard deviation for heading error.
*/
private static final double SIGMA_HEADING_OFFSET = 4; // given in degree

/**
* Default chance of the car being perceived heading in the complete other direction (180° error)
* Default chance of the car being perceived heading in the complete other direction (180° error).
*/
private static final double DEFAULT_CHANCE_WRONG_DIR = 0.01;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,7 @@ protected final boolean isTornDown() {
/**
* This method logs and returns the state of the application.
*
* @return {@code true} if the application was set up and is not torn
* down. Otherwise, it returns {@code false}.
* @return {@code true} if the application was set up and is not torn down. Otherwise, it returns {@code false}.
*/
public final boolean isValidStateAndLog() {
if (!isSetUp) {
Expand Down
2 changes: 1 addition & 1 deletion fed/mosaic-cell/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion fed/mosaic-environment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion fed/mosaic-mapping/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,12 @@ public class VehicleFlowGenerator {
private final GeoCircle destination;
private final OriginDestinationPair odInfo;
private final String group;

/**
* The speed at which the vehicle will depart. Only used by SUMO so far.
*/
private double departSpeed;

/**
* The depart speed mode, where depending on the value, the depart speed behaves as follows.
*
Expand All @@ -101,10 +103,12 @@ public class VehicleFlowGenerator {
* Reference to the selector which will select the next vehicle type to be used.
*/
private WeightedSelector<VehicleTypeSpawner> selector;

/**
* Running variable to determine when the next vehicle has to be spawned.
*/
private long nextSpawnTime = -1;

/**
* Max number of vehicles that should be spawned in this flow.
* Value of 1 means an individual vehicle, Integer.MAX_VALUE means an endless flow.
Expand All @@ -115,6 +119,8 @@ public class VehicleFlowGenerator {
* Constructor for {@link VehicleFlowGenerator} using one vehicle type configuration.
*
* @param vehicleConfiguration vehicle spawner configuration
*
* @throws IllegalArgumentException if vehicleConfiguration does not provide any types to select from
*/
public VehicleFlowGenerator(CVehicle vehicleConfiguration, @Nonnull RandomNumberGenerator randomNumberGenerator, boolean flowNoise, boolean fixedOrder) {

Expand Down Expand Up @@ -180,6 +186,7 @@ private List<VehicleTypeSpawner> createPrototypes(CVehicle vehicleConfiguration)
* @param vehicleConfiguration the vehicle configuration containing necessary information to determine the {@link SpawningMode}
* @param randomNumberGenerator the {@link RandomNumberGenerator} to be used, for example to introduce flowNoise
* @param flowNoise whether flow noise should be introduced
*
* @return the created {@link SpawningMode}
*/
private SpawningMode createSpawningMode(
Expand Down Expand Up @@ -348,6 +355,7 @@ void collectVehicleTypes(HashMap<String, VehicleType> types) {
*
* @param framework the {@link SpawningFramework} handling the time advance
* @return true if there is no more vehicles to spawn or max time reached, thus the vehicle spawner can be removed
*
* @throws InternalFederateException thrown if time advance couldn't be completed successfully
*/
boolean timeAdvance(SpawningFramework framework) throws InternalFederateException {
Expand Down Expand Up @@ -396,7 +404,6 @@ boolean timeAdvance(SpawningFramework framework) throws InternalFederateExceptio
VehicleTypeSpawner type = selector.nextItem();
String name = UnitNameGenerator.nextVehicleName();


createVehicle(framework, name, group, laneSelector.nextLane(type), type);

return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public double getWeight() {
/**
* Constructor for {@link FixedOrderSelector}.
*
* @param objects list of all types that might be selected from
* @param objects list of all types that might be selected from
*/
public FixedOrderSelector(List<T> objects) {
Validate.notNull(objects, "Illegal constructor call for WeightedSelector: objects is null.");
Expand Down Expand Up @@ -126,7 +126,7 @@ private List<Item<T>> normalizeWeights(List<Item<T>> items) {
}

private Item<T> selectFirstItem() {
Comparator<Item<T>> compareByWeight =Comparator.comparingDouble(Item::getWeight);
Comparator<Item<T>> compareByWeight = Comparator.comparingDouble(Item::getWeight);
Comparator<Item<T>> compareByPriority = Comparator.comparingInt((item) -> item.priority);
// choose first item according to weight. if two or items have the same weight, the first item in the list will be chosen
return items.stream().max(compareByWeight.thenComparing(compareByPriority)).orElse(null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
"default": 1.0
},
"fixedOrder": {
"description": "Determines if selection of a vehicles type when spawning follows a fixedOrder or stochastic model. When set to true the spawning-process will choose exactly the same types with every execution. When set to false (default) the order of types follow a stochastic manner and will be different each time, however, selected weights may be reached more slowly.",
"description": "Determines if the type selection of a spawning vehicle follows a fixed order or stochastic model. When set to true the spawning-process will choose exactly the same type order with every execution. When set to false (default) the order of types follows a stochastic manner and will be different each time depending on the set random seed, however, selected weights may be reached more slowly.",
"type": "boolean",
"default": false
},
Expand Down
2 changes: 1 addition & 1 deletion fed/mosaic-ns3/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion fed/mosaic-omnetpp/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion fed/mosaic-output/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion fed/mosaic-sns/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion fed/mosaic-sumo/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion lib/mosaic-communication/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion lib/mosaic-database/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion lib/mosaic-docker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion lib/mosaic-geomath/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion lib/mosaic-interactions/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion lib/mosaic-network/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion lib/mosaic-objects/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion lib/mosaic-routing/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.mosaic</groupId>
<artifactId>mosaic-parent</artifactId>
<version>23.1-SNAPSHOT</version>
<version>23.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
Loading

0 comments on commit 509ebc1

Please sign in to comment.