diff options
Diffstat (limited to 'src/main/doc/puml/IntelligentDataCollection.puml')
-rw-r--r-- | src/main/doc/puml/IntelligentDataCollection.puml | 87 |
1 files changed, 80 insertions, 7 deletions
diff --git a/src/main/doc/puml/IntelligentDataCollection.puml b/src/main/doc/puml/IntelligentDataCollection.puml index ac2c2d3..3a7b988 100644 --- a/src/main/doc/puml/IntelligentDataCollection.puml +++ b/src/main/doc/puml/IntelligentDataCollection.puml @@ -1,11 +1,84 @@ -@startuml -'https://plantuml.com/sequence-diagram -autonumber +@startuml "Intelligent Data Collection" +participant "Vehicle Telematics Module" as VTM +participant "Broker" as iot +database "Telemetry Data" as TDB +participant "Vehicle Status" as vehstat +database "Vehicle Model and Mapping" as VMDB +participant "Intelligent Data Service" as IDS +participant "Analytics Services" as AS +participant "Consuming Services" as CS +actor "Developer/Engineer" as DE +participant "Consuming Application" + + +DE -> IDS: Model Vehicle Data +IDS -> VMDB: Store Vehicle Models +DE -> IDS: Map Model to Vehicle Data Schemas (i.e. DBC) +IDS -> VMDB: Store Vehicle Model and Mapping +=== Load Vehicle Model Mapping == +IDS -> iot: Publish message PublishVehicleModelMapping +alt Vehicle Connected +iot -> VTM: Receive PublishVehicleModelMapping +note right of VTM: The vehicle uses the mapping to abstract and transform vehicle network data to the Model. +else else Vehicle Not Connected +vehstat -> IDS: isVehicleSubscribedResponse (Not Subscribed) + +create boundary "SMS/Cellular Services" as sms +IDS -> sms: Send SMS Wake up Message +VTM -> iot: Connect +iot -> iot: Authorization check +iot -> VTM: ConnectAck +iot -> vehstat: <VTM_id> Connected +vehstat -> IDS: <VTM_id> Connected +IDS -> iot: Subscribe to <response_topic_id> +iot -> IDS: SUBACK +IDS -> iot: Publish PublishVehicleModelMapping +end +iot -> VTM: Receive PublishVehicleModelMapping +iot -> IDS: PUBACK + + +== Send Vehicle Data Collection Scheme == +DE -> IDS: Design Data Collection Scheme +note right of IDS: These services permit identifying just the data needed\n for a specific use case and the collection intervals\n either by event or time based. +alt Vehicle Connected +iot -> VTM: Receive PublishDataCollectionDescriptor +note right of VTM: The vehicle uses the mapping to abstract and transform vehicle network data to the Model. +else else Vehicle Not Connected +vehstat -> IDS: isVehicleSubscribedResponse (Not Subscribed) + +create boundary "SMS/Cellular Services" as sms +IDS -> sms: Send SMS Wake up Message +VTM -> iot: Connect +iot -> iot: Authorization check +iot -> VTM: ConnectAck +iot -> vehstat: <VTM_id> Connected +vehstat -> IDS: <VTM_id> Connected +IDS -> iot: Subscribe to <response_topic_id> +iot -> IDS: SUBACK +IDS -> iot: Publish PublishDataCollectionDescriptor +end +iot -> VTM: Receive PublishDataCollectionDescriptor +iot -> IDS: PUBACK + +== Publish Data From Vehicle == + +loop Publish as Per Collection Scheme +VTM <-: Event or Interval +VTM -> iot: Connect +VTM -> iot: PublishData +iot -> iot: Authorization check +iot -> VTM: ConnectAck +iot -> vehstat: <VTM_id> Connected +vehstat -> IDS: <VTM_id> Connected +VTM -> iot: PublishData +iot -> IDS: Receive PublishData +IDS -> TD: Store Data +AS -> TD: Retrieve and Transform Data +AS -> CS: Consume Data for Business Purposes +end + -Alice -> Bob: Authentication Request -Bob --> Alice: Authentication Response -Alice -> Bob: Another authentication Request -Alice <-- Bob: another authentication Response @enduml
\ No newline at end of file |