74 lines
1.5 KiB
Markdown
74 lines
1.5 KiB
Markdown
|
---
|
||
|
puppeteer:
|
||
|
landscape: false
|
||
|
format: "A4"
|
||
|
timeout: 3000
|
||
|
export_on_save:
|
||
|
puppeteer: true
|
||
|
---
|
||
|
|
||
|
|
||
|
```plantuml
|
||
|
@startuml
|
||
|
|
||
|
!include https://deep-tek.com/puml/core.puml
|
||
|
|
||
|
|
||
|
class Satellite {
|
||
|
-String satelliteId
|
||
|
-String type
|
||
|
-Angle position
|
||
|
-double height
|
||
|
+setPosition
|
||
|
}
|
||
|
class StandardSatellite {
|
||
|
-int speed
|
||
|
-int getFileSpeed
|
||
|
}
|
||
|
class ShrinkingSatellite {
|
||
|
-int speed
|
||
|
-int getFileSpeed
|
||
|
}
|
||
|
class RelaySatellite {
|
||
|
-int speed
|
||
|
-int getFileSpeed
|
||
|
}
|
||
|
Satellite <|- StandardSatellite
|
||
|
Satellite <|- ShrinkingSatellite
|
||
|
Satellite <|- RelaySatellite
|
||
|
|
||
|
class Device {
|
||
|
-String deviceId
|
||
|
-String type
|
||
|
-Angle position
|
||
|
+setPosition
|
||
|
}
|
||
|
|
||
|
class BlackoutController {
|
||
|
-List<String> deviceList
|
||
|
-List<String> satelliteList
|
||
|
-List<String> fileSendingList
|
||
|
-Map<String, Device> deviceMap
|
||
|
-Map<String, Satellite> satelliteMap
|
||
|
-Map<String, EntityInfoResponse> map
|
||
|
+void createDevice(String deviceId, String type, Angle position)
|
||
|
+void removeDevice(String deviceId)
|
||
|
+void createSatellite(String satelliteId, String type, double height, Angle position)
|
||
|
+void removeSatellite(String satelliteId)
|
||
|
+List<String> listDeviceIds()
|
||
|
+List<String> listSatelliteIds()
|
||
|
+void addFileToDevice(String deviceId, String filename, String content)
|
||
|
+EntityInfoResponse getInfo(String id)
|
||
|
+void simulate()
|
||
|
+List<String> communicableEntitiesInRange(String id)
|
||
|
+void sendFile(String fileName, String fromId, String toId)
|
||
|
}
|
||
|
|
||
|
Device - Satellite : sendFile >
|
||
|
Satellite - Device : sendFile >
|
||
|
|
||
|
Device <|.. BlackoutController
|
||
|
Satellite <|.. BlackoutController
|
||
|
|
||
|
@enduml
|
||
|
```
|