66 lines
1.5 KiB
Plaintext
66 lines
1.5 KiB
Plaintext
@startuml
|
|
' SPDX-FileCopyrightText: The openTCS Authors
|
|
' SPDX-License-Identifier: CC-BY-4.0
|
|
|
|
skinparam monochrome true
|
|
'skinparam linetype ortho
|
|
hide empty members
|
|
'left to right direction
|
|
|
|
together {
|
|
interface PeripheralCommAdapterFactory
|
|
|
|
class "**CustomAdapterFactory**" as CustomAdapterFactory
|
|
|
|
PeripheralCommAdapterFactory <|-- CustomAdapterFactory
|
|
}
|
|
|
|
together {
|
|
interface PeripheralCommAdapter
|
|
|
|
abstract class BasicPeripheralCommAdapter
|
|
|
|
class "**CustomAdapter**" as CustomAdapter
|
|
|
|
PeripheralCommAdapter <|-- BasicPeripheralCommAdapter
|
|
BasicPeripheralCommAdapter <|-- CustomAdapter
|
|
|
|
note "Implements communication\nwith a single peripheral device." as adapterNote
|
|
CustomAdapter .. adapterNote
|
|
}
|
|
|
|
together {
|
|
class PeripheralProcessModel
|
|
|
|
class "**CustomProcessModel**" as CustomProcessModel
|
|
|
|
PeripheralProcessModel <|-- CustomProcessModel
|
|
}
|
|
|
|
together {
|
|
abstract class PeripheralCommAdapterDescription
|
|
|
|
class "**CustomDescription**" as CustomDescription
|
|
|
|
PeripheralCommAdapterDescription <|-- CustomDescription
|
|
}
|
|
|
|
together {
|
|
interface LowLevelCommunicationEvent
|
|
|
|
abstract class PeripheralCommAdapterEvent
|
|
|
|
class "**PeripheralProcessModelEvent**" as PeripheralProcessModelEvent
|
|
|
|
PeripheralCommAdapterEvent <|-- PeripheralProcessModelEvent
|
|
LowLevelCommunicationEvent <|-- PeripheralCommAdapterEvent
|
|
}
|
|
|
|
CustomAdapterFactory ..> CustomAdapter : instantiates
|
|
CustomAdapterFactory ..> CustomDescription : provides
|
|
|
|
CustomAdapter ..> PeripheralProcessModelEvent : produces
|
|
|
|
CustomAdapter "1" --> "1" CustomProcessModel
|
|
@enduml
|