diff --git a/23-049/images/Figure1PlantUML.adoc b/23-049/images/Figure1PlantUML.adoc new file mode 100644 index 0000000..d78cdbb --- /dev/null +++ b/23-049/images/Figure1PlantUML.adoc @@ -0,0 +1,82 @@ +Figure 1, using PlantUML markup that is supported by Metanorma, rather than Mermaid that works inline in GitHib and ASCIIdoc. + +@startuml +abstract class ReferenceSystem { + dimension "dimension >= 1" + locationOfApplicability = 0..1 + timeOfApplicability = 0..1 + domainOfApplicability = 0..1 +} + +note right of ReferenceSystem +Note: Has at least one of: +* SpatialReferenceSystem, or +* TemporalReferenceSystem +end note + +abstract class SpatialReferenceSystem { +} + +abstract class TemporalReferenceSystem { + dimension = 1 +} + +note left of TemporalReferenceSystem +Note: Consists of one only of: +* TemporalCoordinateReferenceSystem, +* Calendar, or +* OrdinalTemporalReferenceSystem +end note + +ReferenceSystem <|-- SpatialReferenceSystem : is a +ReferenceSystem <|-- TemporalReferenceSystem : is a + +class OrdinalTemporalReferenceSystem { +} +class TemporalCoordinateReferenceSystem { +} +class Calendar { +} +class Timeline { +} +TemporalReferenceSystem <|-- OrdinalTemporalReferenceSystem : is a +TemporalReferenceSystem <|-- TemporalCoordinateReferenceSystem : is a +TemporalReferenceSystem <|-- Calendar : is a + +OrdinalTemporalReferenceSystem "1" o-- "(ordered)" Events : consists of +OrdinalTemporalReferenceSystem "1" o-- "0..1" Epoch : anchored by +OrdinalTemporalReferenceSystem "1" --> "1..*" Notation : is represented by +TemporalCoordinateReferenceSystem "1" o-- "1" Epoch : anchored by +TemporalCoordinateReferenceSystem "1" --> "1..*" Notation : is represented by +TemporalCoordinateReferenceSystem "1" o-- "1" Timescale : must have + +Calendar "1" o-- "0..1" Epoch : anchored by +Calendar "1" --> "1..*" Notation : is represented by +Calendar "1" o-- "1" Timeline : has a + +Timeline "1" o-- "1..*" Algorithm : defined by + +class Timescale { + StartCount + EndCount + arithmetic +} + +Timescale "1" o-- "1" Clock : determined by +Timescale "1" o-- "1" UnitOfMeasure : has a + +class Clock { +} +Clock "1" o-- "1..*" Ticks : counts +class Ticks { + } + +class UnitOfMeasure { + Direction +} + +class Algorithm { +} +Algorithm "1" o-- "2..*" Timescale : uses + +@enduml