| @startuml |
| |
| skinparam packageStyle rect |
| |
| package ConstraintsModel { |
| |
| abstract class TimingConstraint { |
| } |
| |
| abstract class SynchronizationConstraint { |
| multipleOccurrencesAllowed : boolean |
| } |
| |
| class EventChainSynchronizationConstraint { |
| type : SynchronizationType = _undefined_ |
| } |
| |
| class EventChain { |
| } |
| |
| enum SynchronizationType { |
| _undefined_ |
| Stimulus |
| Response |
| } |
| |
| TimingConstraint <|-- SynchronizationConstraint |
| SynchronizationConstraint <|-- EventChainSynchronizationConstraint |
| EventChainSynchronizationConstraint *--> "2..2" EventChain : scope |
| } |
| |
| package CommonModel { |
| class Time { |
| value : int |
| unit : TimeUnit |
| } |
| |
| SynchronizationConstraint *--> "0..1" Time : tolerance |
| } |
| |
| @enduml |