Files
pmomusic/doc/schema.md
2025-09-06 17:45:28 +02:00

49 lines
1.3 KiB
Markdown

# Architecture UPnP/DLNA
Voici la séparation **définition** vs **runtime** :
```mermaid
classDiagram
class Device
class Service
class Action
class StateVariable
class Server
class DeviceInstance
class ServiceInstance
class StateVariableInstance
class ActionHandler
Device "1" --> "1..*" Service
Device "0..*" --> "0..*" Device
Service "0..*" --> "0..*" Action
Service "1..*" --> "1..*" StateVariable
Server "1" --> "1..*" DeviceInstance
DeviceInstance "1" --> "1..*" ServiceInstance
DeviceInstance "0..*" --> "0..*" DeviceInstance
ServiceInstance "1" --> "1..*" StateVariableInstance
ServiceInstance "0..*" --> "0..*" ActionHandler
DeviceInstance ..> Device : instantiates
ServiceInstance ..> Service : instantiates
StateVariableInstance ..> StateVariable : instantiates
ActionHandler ..> Action : handles
class Device:::deviceType
class Service:::deviceType
class Action:::deviceType
class StateVariable:::deviceType
class Server:::instanceType
class DeviceInstance:::instanceType
class ServiceInstance:::instanceType
class StateVariableInstance:::instanceType
class ActionHandler:::instanceType
classDef deviceType fill:#f9f,stroke:#333,stroke-width:1px;
classDef instanceType fill:#9f9,stroke:#333,stroke-width:1px;
```