Periodic intervals in ISO 21090 are the key way in implementing repeating events. PIVL is constrained to apply only to time,
there is no other repeating dimension allowed. There is no periodic event equivalent and any periodic events are implemented
as a periodic interval with zero duration for that interval using PIVL. The PIVL.phase.low.value attribute defines a known
starting point of a repeating duration as a TS, the PIVL.phase.any.value defines the mid point of a range of possible starting
points.
Within the PIVL data type it is possible to under specify a periodic interval such that it has no set start date, for example,
using underspecification of the IVL data type. It does not appear possible to have an uncertain range of dates as the start
point.
This is implemented as described in ISO 21090.
Specializes
Attributes
| Name |
Data type |
Occurs |
Description |
|
alignment
|
CalendarCycle
|
0..1 |
This is implemented as described in ISO 21090. |
|
count
|
INT.Pos
|
1..1 |
This is implemented as described in ISO 21090. |
|
frequency
|
RTO
|
1..1 |
This is implemented as described in ISO 21090. |
|
isFlexible
|
Boolean
|
1..1 |
This is implemented as described in ISO 21090. |
|
period
|
PQ
|
0..1 |
This is implemented as described in ISO 21090. |
|
phase
|
IVL_TS
|
0..1 |
This is implemented as described in ISO 21090. |
Constraints
| Type |
Name |
Specification |
| no updateMode or History on PIVL attributes |
Invariant |
inv: noUpdateOrHistory(phase) and noUpdateOrHistory(period) |
| period or frequency |
Invariant |
inv: isNotNull implies (period.isNotNull xor frequency.isNotNull) |