From 7571eaa12777571eb9117a992cd2a5100107aacc Mon Sep 17 00:00:00 2001 From: marvinheintze Date: Mon, 7 Oct 2024 01:55:50 +0200 Subject: [PATCH 1/7] Remade ExtEvSimulationClasses.puml --- CHANGELOG.md | 3 +- docs/uml/main/ExtEvSimulationClasses.puml | 312 +++++++++++----------- 2 files changed, 154 insertions(+), 161 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 781aba25a6..b4de5ac15d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,7 +77,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated AUTHORS.md [#904](https://github.com/ie3-institute/simona/issues/904) - Updated `Gradle` to version V8.10 [#829](https://github.com/ie3-institute/simona/issues/829) - Updated AUTHORS.md [#905](https://github.com/ie3-institute/simona/issues/905) -- Rewrote BMModelTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646) +- Rewrote BMModelTest from groov to scala [#646](https://github.com/ie3-institute/simona/issues/646) +- Updated `ExtEvSimulationClasses` [#898](https://github.com/ie3-institute/simona/issues/898) ### Fixed - Removed a repeated line in the documentation of vn_simona config [#658](https://github.com/ie3-institute/simona/issues/658) diff --git a/docs/uml/main/ExtEvSimulationClasses.puml b/docs/uml/main/ExtEvSimulationClasses.puml index 9543697f03..79e83b5ed9 100644 --- a/docs/uml/main/ExtEvSimulationClasses.puml +++ b/docs/uml/main/ExtEvSimulationClasses.puml @@ -1,223 +1,215 @@ @startuml -'https://plantuml.com/class-diagram -skinparam linetype ortho -package ev-simulation { - class ExtLink - class ExternalSampleSim - class EvModelImpl +skinparam linetype ortho +skinparam nodesep 50 +skinparam ranksep 40 - ' adding hidden elements for layout purposes - class placeholderA { - w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w +skinparam node{ + borderColor Transparent + fontColor Transparent } - hide placeholderA - class placeholderB { - w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w +package MobilitySimulator { + class ExtLink + class MobilitySim + class ElectricVehicle } - hide placeholderB - - ExtLink -[hidden]> placeholderA - placeholderA -[hidden]> ExternalSampleSim - ExternalSampleSim -[hidden]> placeholderB - placeholderB -[hidden]> EvModelImpl -} package simona-api { - ' MIDDLE PART - class ExtEvData { - ~ LinkedBlockingQueue receiveTriggerQueue - - ActorRef dataService - - ActorRef extSimAdapter - + List requestAvailablePublicEvCs() - + List sendEvPositions(EvMovementsMessage evMovementsMessage) - - void sendData(ExtEvMessage msg) - + void queueExtMsg(ExtEvResponseMessage extEvResponse) - } - - class ExtSimAdapterData { - ~ LinkedBlockingQueue receiveTriggerQueue - - ActorRef extSimAdapter - + void queueExtMsg(ExtTrigger trigger) - + void send(ExtTriggerResponse msg) - } - - interface ExtData +'top to bottom direction abstract class ExtSimulation { + - ExtSimAdapterData data + void setup(ExtSimAdapterData data, List adapters) + void run() - # {abstract} List doActivity(long tick) + # {abstract} Optional doActivity(long tick) + # {abstract} Long intitialize() + } + ExtSimulation --r> ExtData + MobilitySim -|> ExtSimulation + + interface ExtLinkInterface { + + ExtSimulation getExtSimulation() + + List getExtDataSimulations() } + ExtLink --|> ExtLinkInterface + 'ExtLinkInterface --d> ExtSimulation + interface ExtEvSimulation { - + void setExtEvData(ExtEvData evData) + + void setExtEvData(ExtEvData evData) } + MobilitySim --|> ExtEvSimulation + interface ExtDataSimulation - ExternalSampleSim --|> ExtSimulation - ExternalSampleSim --|> ExtEvSimulation + ExtEvSimulation --|> ExtDataSimulation - ExtSimulation -[hidden]> ExtDataSimulation - ExtEvSimulation -|> ExtDataSimulation - ExtEvSimulation --> ExtEvData + 'ExtLinkInterface -[norank]> ExtDataSimulation - ExtSimulation --> ExtData - ExtSimulation --> ExtSimAdapterData - ExtSimAdapterData -[hidden]> ExtEvData - ExtData <|-- ExtEvData + interface EvModel { + + UUID getUuid() + + String getId() + + ComparableQuantity getSRatedAC() + + ComparableQuantity getSRatedDC() + + ComparableQuantity getEStorage() + + ComparableQuantity getStoredEnergy() + + Long getDepartureTick() + + EvModel copyWith(ComparableQuantity newStoredEnergy) + } - ' placeholder - class plchldr1 { - w-w-w-w-w - } - hide plchldr1 - class placeholder2 { - w-w-w-w-w-w-w-w-w-w-w-w-w-w-w - } - hide placeholder2 - class placeholder3 { - w-w-w-w-w-w-w-w-w-w-w - } - hide placeholder3 - class placeholder4 { - w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w - } - hide placeholder4 + ElectricVehicle --|> EvModel - ExtData -[hidden]> plchldr1 - plchldr1 -[hidden]> placeholder4 - placeholder4 -[hidden]> EvMovement - ExtSimulation -[hidden]-> placeholder2 - placeholder2 -[hidden]-> placeholder3 - placeholder3 -[hidden]-> ExtSimAdapterData - placeholder2 -[hidden]> ExtData + interface ExtData - ' RIGHT PART - abstract class EvMovement - class Arrival - class Departure - Arrival --|> EvMovement - Departure --|> EvMovement - Arrival -[hidden]> Departure + class ExtEvData { + + LinkedBlockingQueue receiveTriggerQueue + - ActorRef dataService + - ActorRef extSimAdapter + + Map requestAvailablePublicEvcs() + + Map requestCurrentPrices() + + List requestDepartingEvs(Map> departures) + + void provideArrivingEvs(Map> arrivals, Optional maybeNextTick) + + void sendExtMsg(EvDataMessageFromExt msg) + + void queueExtResponseMsg(EvDataResponseMessageToExt extEvResponse) + } + + node sub2{ + interface EvDataMessageFromExt - interface EvModel { - + UUID getUuid() - + String getId() - + ComparableQuantity getSRated() - + ComparableQuantity getEStorage() - + ComparableQuantity getStoredEnergy() - + EvModel copyWith(ComparableQuantity newStoredEnergy) - } + interface DataMessageFromExt - ExtDataSimulation -[hidden]> Arrival - EvMovement *-> EvModel - EvModelImpl --|> EvModel + class ProvideArrivingEvs + class RequestCurrentPrices + + class RequestDepartingEvs - interface EvDataMessageFromExt - class EvMovementsMessage { - - Map> movements - } class RequestEvcsFreeLots - RequestEvcsFreeLots --|> EvDataMessageFromExt - EvMovementsMessage --|> EvDataMessageFromExt - RequestEvcsFreeLots -[hidden]> EvMovementsMessage + +} + RequestDepartingEvs --u|> EvDataMessageFromExt + RequestEvcsFreeLots --u|> EvDataMessageFromExt + ProvideArrivingEvs --u|> EvDataMessageFromExt + RequestCurrentPrices --u|> EvDataMessageFromExt + + DataMessageFromExt --d|> EvDataMessageFromExt + ExtEvData --r[norank]> EvDataMessageFromExt + ExtEvData --u|> ExtData + ExtEvSimulation -u> ExtEvData + + + + +node sub1{ + interface DataResponseMessageToExt interface EvDataResponseMessageToExt - class AllDepartedEvsRepsonse { - - Map> movements - } - class ProvideEvcsFreeLots - ProvideEvcsFreeLots --|> EvDataResponseMessageToExt - AllDepartedEvsRepsonse --|> EvDataResponseMessageToExt - ExtEvData -> EvDataMessageFromExt - ExtEvData -> EvDataResponseMessageToExt - EvMovement -[hidden]-> RequestEvcsFreeLots - EvDataMessageFromExt -[hidden]> EvDataResponseMessageToExt - EvMovementsMessage -[hidden]> ProvideEvcsFreeLots - ProvideEvcsFreeLots -[hidden]> AllDepartedEvsRepsonse - - class ScheduleDataServiceMessage { - - ExtEvDataService dataService - } - EvDataResponseMessageToExt -[hidden]> ScheduleDataServiceMessage - ExtEvData -> ScheduleDataServiceMessage + class ProvideCurrentPrices{ + + ProvideCurrentPrices() + } - ' LEFT PART - interface ExtLinkInterface { - + ExtSimulation getExtSimulation() - + List getExtDataSimulations() + class ProvideDepartingEvs{ + + ProvideDepartingEvs() } - ExtLinkInterface -[hidden]> ExtSimulation - ExtLink --|> ExtLinkInterface - interface ExtTrigger - class ActivationMessage { - - Long tick + class ProvideEvcsFreeLots{ + + ProvideEvcsFreeLots() } - ActivationMessage --|> ExtTrigger - interface ExtTriggerResponse - class CompletionMessage { - - List newTriggers + ProvideEvcsFreeLots --|> EvDataResponseMessageToExt + ProvideDepartingEvs --|> EvDataResponseMessageToExt + ProvideCurrentPrices --|> EvDataResponseMessageToExt + ExtEvData --> EvDataResponseMessageToExt + DataResponseMessageToExt --|> EvDataResponseMessageToExt +} + + +node sub3{ + class ExtSimAdapterData { + + LinkedBlockingQueue receiveTriggerQueue + - ActorRef extSimAdapter + - String[] mainArgs + + void queueExtMsg(ControlMessageToExt msg) + + void send(ControlResponseMessageFromExt msg) + + String[] getMainArgs() + } + + interface ControlMessageToExt + + interface ControlResponseMessageFromExt + + class CompletionMessage + + class ActivationMessage + + ExtSimAdapterData --u> ControlMessageToExt + ExtSimAdapterData --u> ControlResponseMessageFromExt + CompletionMessage --d|> ControlResponseMessageFromExt + ActivationMessage --d|> ControlMessageToExt + ExtSimulation -----> ExtSimAdapterData } - CompletionMessage --|> ExtTriggerResponse - ExtTrigger -[hidden]> ExtTriggerResponse - ExtTrigger <- ExtSimAdapterData - ExtTriggerResponse <- ExtSimAdapterData + } + + package simona { - abstract class ParticipantAgent + abstract class ParticipantAgent - class EvcsModel + class EvcsModel - class EvcsAgent + class EvcsAgent - interface SecondaryData - class EvMovementData { - movements: Set[EvMovement] - } + interface SecondaryData + class EvMovementData { + movements: Set[EvMovement] + } + + class SimonaSim - class SimonaSim + class Scheduler - class Scheduler + class SimonaStandaloneSetup - class SimonaStandaloneSetup + class ExtSimLoader - class ExtSimLoader + class ExtSimAdapter - class ExtSimAdapter + class ExtEvDataService - class ExtEvDataService + Scheduler -- SimonaSim + SimonaSim *- SimonaStandaloneSetup + SimonaStandaloneSetup *- ExtSimLoader - Scheduler -- SimonaSim - SimonaSim *- SimonaStandaloneSetup - SimonaStandaloneSetup *- ExtSimLoader + ExtSimAdapter - Scheduler + ExtEvDataService -- Scheduler - ExtSimAdapter -- Scheduler - ExtEvDataService -- Scheduler + SecondaryData <|-- EvMovementData - SecondaryData <|-- EvMovementData + SimonaService <|- ExtEvDataService + ExtEvData --- ExtEvDataService - SimonaService <|- ExtEvDataService - ExtEvData <--- ExtEvDataService + ExtSimAdapterData <--- ExtSimAdapter - ExtSimAdapterData <--- ExtSimAdapter + ExtEvDataService "n" <-> "1" EvcsAgent + EvcsAgent --|> ParticipantAgent + EvcsAgent *- EvcsModel - ' 1 and n are swapped here due to bug with linetype ortho and labels - ExtEvDataService "n" <-> "1" EvcsAgent - EvcsAgent --|> ParticipantAgent - EvcsAgent *- EvcsModel + } + + 'Order of classes/interfaces established through hidden connections: ExtSimAdapter -[hidden]> SimonaService -} + sub1 ---[hidden]d> sub2 + ExtLink -[hidden]> ElectricVehicle + ExtSimulation -[hidden]> ExtEvSimulation + ExtSimulation -[hidden]> DataResponseMessageToExt + RequestDepartingEvs --[hidden]> SecondaryData @enduml \ No newline at end of file From f582bf093629c0dccd642543ae0d9745d241e83f Mon Sep 17 00:00:00 2001 From: marvinheintze Date: Mon, 7 Oct 2024 02:02:35 +0200 Subject: [PATCH 2/7] Changelog changes from dev --- CHANGELOG.md | 15 ++++++++++++++- docs/uml/main/ExtEvSimulationClasses.puml | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4de5ac15d..16e331282b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update RTD references and bibliography [#868](https://github.com/ie3-institute/simona/issues/868) - Add gradle application plugin for command line execution with gradle run [#890](https://github.com/ie3-institute/simona/issues/890) - Additional tests to check flexibility options of thermal house and storage [#729](https://github.com/ie3-institute/simona/issues/729) +- EmAgents should be able to handle initialization [#945](https://github.com/ie3-institute/simona/issues/945) +- Added option to directly zip the output files [#793](https://github.com/ie3-institute/simona/issues/793) +- Added weatherData HowTo for Copernicus ERA5 data [#967](https://github.com/ie3-institute/simona/issues/967) ### Changed - Adapted to changed data source in PSDM [#435](https://github.com/ie3-institute/simona/issues/435) @@ -77,7 +80,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated AUTHORS.md [#904](https://github.com/ie3-institute/simona/issues/904) - Updated `Gradle` to version V8.10 [#829](https://github.com/ie3-institute/simona/issues/829) - Updated AUTHORS.md [#905](https://github.com/ie3-institute/simona/issues/905) -- Rewrote BMModelTest from groov to scala [#646](https://github.com/ie3-institute/simona/issues/646) +- Rewrote BMModelTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646) +- Refactoring EM messages [#947](https://github.com/ie3-institute/simona/issues/947) +- Simplifying ThermalHouse [#940](https://github.com/ie3-institute/simona/issues/940) +- Prepare ThermalStorageTestData for Storage without storageVolumeLvlMin [#894](https://github.com/ie3-institute/simona/issues/894) +- Renamed `ActivityStartTrigger`, `ScheduleTriggerMessage`, `CompletionMessage` in UML Diagrams[#675](https://github.com/ie3-institute/simona/issues/675) +- Simplifying quantity integration in QuantityUtil [#973](https://github.com/ie3-institute/simona/issues/973) +- Reorganized Jenkins pipeline to separate build and test stages for better efficiency [#938](https://github.com/ie3-institute/simona/issues/938) - Updated `ExtEvSimulationClasses` [#898](https://github.com/ie3-institute/simona/issues/898) ### Fixed @@ -105,6 +114,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Handle MobSim requests for current prices [#892](https://github.com/ie3-institute/simona/issues/892) - Fix determineState of ThermalHouse [#926](https://github.com/ie3-institute/simona/issues/926) - Fix activation of Hp when not under control of an EM [#922](https://github.com/ie3-institute/simona/issues/922) +- Fix expected secondaryData in baseStateData [#955](https://github.com/ie3-institute/simona/issues/955) +- Improve code quality in fixedloadmodelspec and other tests [#919](https://github.com/ie3-institute/simona/issues/919) +- Fix power flow calculation with em agents [#962](https://github.com/ie3-institute/simona/issues/962) +- Fix scheduling at Evcs with more than one Ev at a time without Em [#787](https://github.com/ie3-institute/simona/issues/787) ## [3.0.0] - 2023-08-07 diff --git a/docs/uml/main/ExtEvSimulationClasses.puml b/docs/uml/main/ExtEvSimulationClasses.puml index 79e83b5ed9..b7427e5293 100644 --- a/docs/uml/main/ExtEvSimulationClasses.puml +++ b/docs/uml/main/ExtEvSimulationClasses.puml @@ -1,5 +1,5 @@ @startuml - +'https://plantuml.com/class-diagram skinparam linetype ortho skinparam nodesep 50 skinparam ranksep 40 From 3bc2e53eca33a50cb7e3d40c2ee286af3ca4eeca Mon Sep 17 00:00:00 2001 From: marvinheintze Date: Mon, 7 Oct 2024 20:37:45 +0200 Subject: [PATCH 3/7] Took out commented connections --- docs/uml/main/ExtEvSimulationClasses.puml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/uml/main/ExtEvSimulationClasses.puml b/docs/uml/main/ExtEvSimulationClasses.puml index b7427e5293..bb74a9b0e8 100644 --- a/docs/uml/main/ExtEvSimulationClasses.puml +++ b/docs/uml/main/ExtEvSimulationClasses.puml @@ -16,7 +16,6 @@ package MobilitySimulator { } package simona-api { -'top to bottom direction abstract class ExtSimulation { - ExtSimAdapterData data @@ -34,7 +33,6 @@ package simona-api { } ExtLink --|> ExtLinkInterface - 'ExtLinkInterface --d> ExtSimulation interface ExtEvSimulation { + void setExtEvData(ExtEvData evData) @@ -46,9 +44,6 @@ package simona-api { ExtEvSimulation --|> ExtDataSimulation - 'ExtLinkInterface -[norank]> ExtDataSimulation - - interface EvModel { + UUID getUuid() + String getId() @@ -101,9 +96,6 @@ package simona-api { ExtEvData --u|> ExtData ExtEvSimulation -u> ExtEvData - - - node sub1{ interface DataResponseMessageToExt From d0fa7abecae7d38c5b38e751e21cf4a138d9faeb Mon Sep 17 00:00:00 2001 From: Sebastian Peter Date: Mon, 4 Nov 2024 15:39:34 +0100 Subject: [PATCH 4/7] Cleaned up formatting Signed-off-by: Sebastian Peter --- docs/uml/main/ExtEvSimulationClasses.puml | 121 +++++++++++----------- 1 file changed, 58 insertions(+), 63 deletions(-) diff --git a/docs/uml/main/ExtEvSimulationClasses.puml b/docs/uml/main/ExtEvSimulationClasses.puml index bb74a9b0e8..03507633f8 100644 --- a/docs/uml/main/ExtEvSimulationClasses.puml +++ b/docs/uml/main/ExtEvSimulationClasses.puml @@ -4,16 +4,16 @@ skinparam linetype ortho skinparam nodesep 50 skinparam ranksep 40 -skinparam node{ - borderColor Transparent - fontColor Transparent - } +skinparam node { + borderColor Transparent + fontColor Transparent +} package MobilitySimulator { class ExtLink class MobilitySim class ElectricVehicle - } +} package simona-api { @@ -53,11 +53,10 @@ package simona-api { + ComparableQuantity getStoredEnergy() + Long getDepartureTick() + EvModel copyWith(ComparableQuantity newStoredEnergy) - } + } ElectricVehicle --|> EvModel - interface ExtData class ExtEvData { @@ -70,22 +69,22 @@ package simona-api { + void provideArrivingEvs(Map> arrivals, Optional maybeNextTick) + void sendExtMsg(EvDataMessageFromExt msg) + void queueExtResponseMsg(EvDataResponseMessageToExt extEvResponse) - } + } node sub2{ - interface EvDataMessageFromExt + interface EvDataMessageFromExt - interface DataMessageFromExt + interface DataMessageFromExt - class ProvideArrivingEvs + class ProvideArrivingEvs - class RequestCurrentPrices + class RequestCurrentPrices - class RequestDepartingEvs + class RequestDepartingEvs - class RequestEvcsFreeLots + class RequestEvcsFreeLots + } -} RequestDepartingEvs --u|> EvDataMessageFromExt RequestEvcsFreeLots --u|> EvDataMessageFromExt ProvideArrivingEvs --u|> EvDataMessageFromExt @@ -96,61 +95,57 @@ package simona-api { ExtEvData --u|> ExtData ExtEvSimulation -u> ExtEvData -node sub1{ - interface DataResponseMessageToExt - - interface EvDataResponseMessageToExt + node sub1{ + interface DataResponseMessageToExt - class ProvideCurrentPrices{ - + ProvideCurrentPrices() - } + interface EvDataResponseMessageToExt - class ProvideDepartingEvs{ - + ProvideDepartingEvs() - } + class ProvideCurrentPrices{ + + ProvideCurrentPrices() + } - class ProvideEvcsFreeLots{ - + ProvideEvcsFreeLots() - } + class ProvideDepartingEvs{ + + ProvideDepartingEvs() + } - ProvideEvcsFreeLots --|> EvDataResponseMessageToExt - ProvideDepartingEvs --|> EvDataResponseMessageToExt - ProvideCurrentPrices --|> EvDataResponseMessageToExt - ExtEvData --> EvDataResponseMessageToExt - DataResponseMessageToExt --|> EvDataResponseMessageToExt -} + class ProvideEvcsFreeLots{ + + ProvideEvcsFreeLots() + } + ProvideEvcsFreeLots --|> EvDataResponseMessageToExt + ProvideDepartingEvs --|> EvDataResponseMessageToExt + ProvideCurrentPrices --|> EvDataResponseMessageToExt + ExtEvData --> EvDataResponseMessageToExt + DataResponseMessageToExt --|> EvDataResponseMessageToExt + } -node sub3{ - class ExtSimAdapterData { - + LinkedBlockingQueue receiveTriggerQueue - - ActorRef extSimAdapter - - String[] mainArgs - + void queueExtMsg(ControlMessageToExt msg) - + void send(ControlResponseMessageFromExt msg) - + String[] getMainArgs() - } + node sub3 { + class ExtSimAdapterData { + + LinkedBlockingQueue receiveTriggerQueue + - ActorRef extSimAdapter + - String[] mainArgs + + void queueExtMsg(ControlMessageToExt msg) + + void send(ControlResponseMessageFromExt msg) + + String[] getMainArgs() + } - interface ControlMessageToExt + interface ControlMessageToExt - interface ControlResponseMessageFromExt + interface ControlResponseMessageFromExt - class CompletionMessage + class CompletionMessage - class ActivationMessage + class ActivationMessage - ExtSimAdapterData --u> ControlMessageToExt - ExtSimAdapterData --u> ControlResponseMessageFromExt - CompletionMessage --d|> ControlResponseMessageFromExt - ActivationMessage --d|> ControlMessageToExt - ExtSimulation -----> ExtSimAdapterData + ExtSimAdapterData --u> ControlMessageToExt + ExtSimAdapterData --u> ControlResponseMessageFromExt + CompletionMessage --d|> ControlResponseMessageFromExt + ActivationMessage --d|> ControlMessageToExt + ExtSimulation -----> ExtSimAdapterData } - } - - package simona { abstract class ParticipantAgent @@ -193,15 +188,15 @@ package simona { EvcsAgent --|> ParticipantAgent EvcsAgent *- EvcsModel - } +} - 'Order of classes/interfaces established through hidden connections: +'Order of classes/interfaces established through hidden connections: - ExtSimAdapter -[hidden]> SimonaService - sub1 ---[hidden]d> sub2 - ExtLink -[hidden]> ElectricVehicle - ExtSimulation -[hidden]> ExtEvSimulation - ExtSimulation -[hidden]> DataResponseMessageToExt - RequestDepartingEvs --[hidden]> SecondaryData +ExtSimAdapter -[hidden]> SimonaService +sub1 ---[hidden]d> sub2 +ExtLink -[hidden]> ElectricVehicle +ExtSimulation -[hidden]> ExtEvSimulation +ExtSimulation -[hidden]> DataResponseMessageToExt +RequestDepartingEvs --[hidden]> SecondaryData @enduml \ No newline at end of file From bb8cbf238027d4c4693908fd317726350046ec49 Mon Sep 17 00:00:00 2001 From: Sebastian Peter Date: Mon, 4 Nov 2024 15:50:28 +0100 Subject: [PATCH 5/7] More cleaning Signed-off-by: Sebastian Peter --- docs/uml/main/ExtEvSimulationClasses.puml | 50 +++++++++++------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/docs/uml/main/ExtEvSimulationClasses.puml b/docs/uml/main/ExtEvSimulationClasses.puml index 03507633f8..f54e57393b 100644 --- a/docs/uml/main/ExtEvSimulationClasses.puml +++ b/docs/uml/main/ExtEvSimulationClasses.puml @@ -147,46 +147,46 @@ package simona-api { } package simona { - abstract class ParticipantAgent + abstract class ParticipantAgent - class EvcsModel + class EvcsModel - class EvcsAgent + class EvcsAgent - interface SecondaryData - class EvMovementData { - movements: Set[EvMovement] - } + interface SecondaryData + class EvMovementData { + movements: Set[EvMovement] + } - class SimonaSim + class SimonaSim - class Scheduler + class Scheduler - class SimonaStandaloneSetup + class SimonaStandaloneSetup - class ExtSimLoader + class ExtSimLoader - class ExtSimAdapter + class ExtSimAdapter - class ExtEvDataService + class ExtEvDataService - Scheduler -- SimonaSim - SimonaSim *- SimonaStandaloneSetup - SimonaStandaloneSetup *- ExtSimLoader + Scheduler -- SimonaSim + SimonaSim *- SimonaStandaloneSetup + SimonaStandaloneSetup *- ExtSimLoader - ExtSimAdapter - Scheduler - ExtEvDataService -- Scheduler + ExtSimAdapter - Scheduler + ExtEvDataService -- Scheduler - SecondaryData <|-- EvMovementData + SecondaryData <|-- EvMovementData - SimonaService <|- ExtEvDataService - ExtEvData --- ExtEvDataService + SimonaService <|- ExtEvDataService + ExtEvData --- ExtEvDataService - ExtSimAdapterData <--- ExtSimAdapter + ExtSimAdapterData <--- ExtSimAdapter - ExtEvDataService "n" <-> "1" EvcsAgent - EvcsAgent --|> ParticipantAgent - EvcsAgent *- EvcsModel + ExtEvDataService "n" <-> "1" EvcsAgent + EvcsAgent --|> ParticipantAgent + EvcsAgent *- EvcsModel } From ddfc34260691555999609ae9eac070b0c31af2df Mon Sep 17 00:00:00 2001 From: marvinheintze Date: Mon, 11 Nov 2024 18:03:12 +0100 Subject: [PATCH 6/7] EvData case classes added + format changes --- docs/uml/main/ExtEvSimulationClasses.puml | 36 ++++++++++++++++------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/docs/uml/main/ExtEvSimulationClasses.puml b/docs/uml/main/ExtEvSimulationClasses.puml index f54e57393b..f4652d28eb 100644 --- a/docs/uml/main/ExtEvSimulationClasses.puml +++ b/docs/uml/main/ExtEvSimulationClasses.puml @@ -42,7 +42,7 @@ package simona-api { interface ExtDataSimulation - ExtEvSimulation --|> ExtDataSimulation + ExtEvSimulation --u|> ExtDataSimulation interface EvModel { + UUID getUuid() @@ -91,7 +91,7 @@ package simona-api { RequestCurrentPrices --u|> EvDataMessageFromExt DataMessageFromExt --d|> EvDataMessageFromExt - ExtEvData --r[norank]> EvDataMessageFromExt + ExtEvData -----> EvDataMessageFromExt ExtEvData --u|> ExtData ExtEvSimulation -u> ExtEvData @@ -101,22 +101,22 @@ package simona-api { interface EvDataResponseMessageToExt class ProvideCurrentPrices{ - + ProvideCurrentPrices() + + Map prices } class ProvideDepartingEvs{ - + ProvideDepartingEvs() + + List departedEvs } class ProvideEvcsFreeLots{ - + ProvideEvcsFreeLots() + + Map evcs } ProvideEvcsFreeLots --|> EvDataResponseMessageToExt ProvideDepartingEvs --|> EvDataResponseMessageToExt ProvideCurrentPrices --|> EvDataResponseMessageToExt ExtEvData --> EvDataResponseMessageToExt - DataResponseMessageToExt --|> EvDataResponseMessageToExt + EvDataResponseMessageToExt --|> DataResponseMessageToExt } node sub3 { @@ -154,10 +154,23 @@ package simona { class EvcsAgent interface SecondaryData - class EvMovementData { - movements: Set[EvMovement] + + class ArrivingEvs{ + + arrivals Seq[EvModelWrapper] + } + + class DepartingEvsRequest{ + + evcs UUID + + evModels Seq[EvModelWrapper] } + class EvFreeLotsRequest{ + + evcs: UUID, + + freeLots: Int, + } + + abstract EvData + class SimonaSim class Scheduler @@ -177,7 +190,10 @@ package simona { ExtSimAdapter - Scheduler ExtEvDataService -- Scheduler - SecondaryData <|-- EvMovementData + ArrivingEvs --u|> EvData + EvFreeLotsRequest --u|> EvData + DepartingEvsRequest --u|> EvData + SecondaryData <|-- EvData SimonaService <|- ExtEvDataService ExtEvData --- ExtEvDataService @@ -197,6 +213,6 @@ sub1 ---[hidden]d> sub2 ExtLink -[hidden]> ElectricVehicle ExtSimulation -[hidden]> ExtEvSimulation ExtSimulation -[hidden]> DataResponseMessageToExt -RequestDepartingEvs --[hidden]> SecondaryData +ProvideArrivingEvs --[hidden]> ExtSimAdapter @enduml \ No newline at end of file From 96a246f1b1b4ef2b5740000692519006097c8d30 Mon Sep 17 00:00:00 2001 From: Sebastian Peter Date: Tue, 12 Nov 2024 20:40:19 +0100 Subject: [PATCH 7/7] Some small fixes --- docs/uml/main/ExtEvSimulationClasses.puml | 29 +++++++++++------------ 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/docs/uml/main/ExtEvSimulationClasses.puml b/docs/uml/main/ExtEvSimulationClasses.puml index f4652d28eb..500f1a8ea2 100644 --- a/docs/uml/main/ExtEvSimulationClasses.puml +++ b/docs/uml/main/ExtEvSimulationClasses.puml @@ -22,7 +22,7 @@ package simona-api { + void setup(ExtSimAdapterData data, List adapters) + void run() # {abstract} Optional doActivity(long tick) - # {abstract} Long intitialize() + # {abstract} Long initialize() } ExtSimulation --r> ExtData MobilitySim -|> ExtSimulation @@ -71,7 +71,7 @@ package simona-api { + void queueExtResponseMsg(EvDataResponseMessageToExt extEvResponse) } - node sub2{ + node sub2 { interface EvDataMessageFromExt interface DataMessageFromExt @@ -95,20 +95,20 @@ package simona-api { ExtEvData --u|> ExtData ExtEvSimulation -u> ExtEvData - node sub1{ + node sub1 { interface DataResponseMessageToExt interface EvDataResponseMessageToExt - class ProvideCurrentPrices{ + class ProvideCurrentPrices { + Map prices } - class ProvideDepartingEvs{ + class ProvideDepartingEvs { + List departedEvs } - class ProvideEvcsFreeLots{ + class ProvideEvcsFreeLots { + Map evcs } @@ -116,7 +116,7 @@ package simona-api { ProvideDepartingEvs --|> EvDataResponseMessageToExt ProvideCurrentPrices --|> EvDataResponseMessageToExt ExtEvData --> EvDataResponseMessageToExt - EvDataResponseMessageToExt --|> DataResponseMessageToExt + EvDataResponseMessageToExt --|> DataResponseMessageToExt } node sub3 { @@ -155,18 +155,17 @@ package simona { interface SecondaryData - class ArrivingEvs{ - + arrivals Seq[EvModelWrapper] + class ArrivingEvs { + + arrivals: Seq[EvModelWrapper] } - class DepartingEvsRequest{ - + evcs UUID - + evModels Seq[EvModelWrapper] + class DepartingEvsRequest { + + evcs: UUID + + departingEvs: Seq[EvModelWrapper] } - class EvFreeLotsRequest{ - + evcs: UUID, - + freeLots: Int, + class EvFreeLotsRequest { + + freeLots: Int } abstract EvData