diff --git a/23-049/.asciidoctor/diagram/Figure 1 Mermaid Version b/23-049/.asciidoctor/diagram/Figure 1 Mermaid Version new file mode 100644 index 00000000..0e9bc9f2 --- /dev/null +++ b/23-049/.asciidoctor/diagram/Figure 1 Mermaid Version @@ -0,0 +1,393 @@ + +== Characteristics of an Abstract Conceptual Model + +The terms and definitions clause in this Abstract Specification provides a short definition for "conceptual model". This clause provides additional information on the OGC use of "conceptual model". + +A conceptual model organizes the vocabulary needed to communicate consistently and thoroughly about the know-how of a problem domain. The aim of a conceptual model is to express the meaning of terms and concepts used by domain experts to discuss the problem, and to find the correct relationships between different concepts. + +A conceptual model: + +. is a representation of a system, made of the composition of concepts which are used to help people know, understand, or simulate a subject the model represents. A documented conceptual model represents 'concepts' (entities), the relationships between them, and a vocabulary; + +. is explicitly defined to be independent of design or implementation concerns; + +. organizes the vocabulary needed to communicate consistently and thoroughly about the know-how of a problem domain; + +. starts with a glossary of terms and definitions. There is a very high premium on high-quality, design-independent definitions, free of data or implementation biases; the model also emphasizes rich vocabulary; and + +. is always about identifying the correct choice of terms to use in communications, including statements of rules and requirements, especially where +high precision and subtle distinctions need to be made. The core concepts of a temporal geospatial problem domain are typically quite stable over time. + +== Temporal Abstract Conceptual Model + +This attempt at a Temporal Abstract Conceptual Model follows <>, which is the ISO adoption of <>. + +The model is also informed by <>. + +[NOTE] +==== +This Mermaid diagram should be converted to PlantUML for Metanorma, by replacing the Mermaid container with the following. +==== + +`[plantuml] +@startuml +. +. +@enduml` + +```mermaid +classDiagram +class ReferenceSystem { + <> + dimension = 1..* + applicableLocationTimeOrDomain + } +class SpatialReferenceSystem { + <> + dimension = 1..* + applicableLocationTimeOrDomain + } +class TemporalReferenceSystem { + <> + dimension = 1 + applicableLocationTimeOrDomain + } +note for ReferenceSystem "Note: Has at least one of:\nSpatialReferenceSystem, or \nTemporalReferenceSystem" +ReferenceSystem <|-- SpatialReferenceSystem : is a +ReferenceSystem <|-- TemporalReferenceSystem : is a +class OrdinalTemporalReferenceSystem { + dimension = 1 + applicableLocationTimeOrDomain + } +class TemporalCoordinateReferenceSystem { + dimension = 1 + applicableLocationTimeOrDomain + } +class Calendar { + dimension = 1 + applicableLocationTimeOrDomain + } +note for TemporalReferenceSystem "Note: Consists of one only of:\nTemporalCoordinateReferenceSystem,\nCalendar, or \nOrdinalTemporalReferenceSystem" +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 : has an +OrdinalTemporalReferenceSystem "1" --> "1..*" Notation : can use +TemporalCoordinateReferenceSystem "1" o-- "1" Epoch : has an +TemporalCoordinateReferenceSystem "1" --> "1..*" Notation : can use +TemporalCoordinateReferenceSystem "1" o-- "1" Timescale : has a +Calendar "1" o-- "0..1" Epoch : has an +Calendar "1" --> "1..*" Notation : can use +Calendar "1" o-- "1..*" Timescale : has a +Calendar "1" o-- "1..*" Algorithm : has a +class Timescale { + StartCount + EndCount + arithmetic + } +Timescale "1" o-- "1" Clock : has a +Timescale "1" o-- "1" UnitOfMeasure : has a +class Clock { + Tick definition + } +class UnitOfMeasure { + Direction + } +``` + +== Temporal regimes + +=== General + +To help us think more clearly about time, this paper adopts the term “Regime” to describe the fundamentally different types of time and its measurement under consideration. This is a pragmatic approach that allows the grouping of recommendations and best practices in a practical way, but without obscuring the connection to the underlying theoretical components. + +The first three regimes have deep underlying physical and mathematical foundations which cannot be legislated away. The fourth regime, of calendars, uses a seemingly random mixture of ad hoc algorithms, arithmetic, numerology and measurements. Paradoxically, this regime has historically driven advances in mathematics and physics. + +The regimes are applicable to other planets and outer space, but with due consideration. + + +=== Events and Operators + +The simplest way of relating entities in time is by events that can be ordered, that is, established in a sequence, and this sequence is used as an approximate measure of the passage of time. + +In this regime, no clocks or time measurements are defined, only events, that are ordered in relation to each other. For example, geological layers, sediment or ice core layers, archaeological sequences, sequential entries in computer logs without coordinated time. + +One set of events may be completely ordered with respect to each other, but another set of similar internally consistent events cannot be cross-referenced until extra information is available. Even then, only partial orderings may be possible. + +In this regime, the Allen Operators (<>) can be used. If A occurs before B and B occurs before C, then we can correctly deduce that A occurs before C. The full set of operators also covers pairs of intervals. So in our example, B occurs in the interval (A,C). However, we cannot perform arithmetic operations like (B-A) or (C-A) as we have not defined any timescale or measurements. For example, in geology, 'subtracting' Ordovician from Jurassic is meaningless; or in archaeology, 'subtracting' a layer with a certain type of pottery remains from the layer containg burnt wood and bones is again not meaningful. Only the ordering can be deduced. + +This regime constitutes an Ordinal Temporal Reference System, with discrete enumerated ordered events. + +=== Simple Clocks and Discrete Timescales + +In this regime, a clock is defined as any regularly repeating physical phenomena, such as pendulum swings, earth's rotation about sun, earth's rotation about its axis, heart beats, vibrations of electrically stimulated quartz crystals or the resonance of the unperturbed ground-state hyperfine transition frequency of the caesium 133 atom. Some phenomena make better clocks that others, in terms of the number of repetitions possible, the consistency of each repetition and the precision of each 'tick'. A mechanism for counting, or possibly measuring, the ticks is desirable. + +It is an assumption that the ticks are regular and homogeneous. + +There is no sub-division between two successive clock ticks. Measuring time consists of counting the complete number of repetitions of ticks since the clock started, or since some other event at a given clock count. + +There is no time measurement before the clock started, or after it stops. + +It may seem that time can be measured between 'ticks' by interpolation, but this needs another clock, with faster ticks. This process of devising more precise clocks continues down to the atomic scale, and then the deterministic process of physically trying to interpolate between ticks is not possible. + +The internationally agreed atomic time, TAI, is an example of a timescale with an integer count as the measure of time, though in practice it is an arithmetic compromise across about two hundred separate atomic clocks, corrected for differing altitudes and temperatures. + +In this regime, the Allen Operators (<>) also can be used. If L occurs before M and M occurs before N, then we can correctly deduce that L occurs before N. The full set of operators also covers pairs of intervals. So if M occurs in the interval (L,N), we can now perform integer arithmetic operations like (M-L) or (N-L) as we have defined an integer timescale or measurement. + +This regime constitutes a Temporal Coordinate Reference System, with discrete integer units of measure which can be subject to integer arithmetic. + +=== CRS and Continuous Timescales + +This regime takes a clock from the previous regime and assumes that between any two adjacent ticks, it is possible to interpolate indefinitely to finer and finer precision, using ordinary arithmetic, rather than any physical device. Units of Measure may be defined that are different from the 'ticks'. For example, a second may be defined as 9,192,631,770 vibrations of the ground-state hyperfine transition of the caesium 133 atom. Alternatively and differently, a second may be defined as 1/86400th of the rotation of the earth on its axis with respect to the sun. The count of rotations are the 'ticks' of an earth-day clock. This latter definition is not precise enough for many uses, as the roation of the earth on its axis varies from day to day. + +Alternatively, it may be that the ticks are not counted but measured, and the precision of the clock is determined by the precision of the measurements, such as depth in an ice core, or angular position of an astronomical body, such as the sun, moon or a star. + +It is also assumed that time can be extrapolated to before the time when the clock started and into the future, possibly past when the clock stops. + +This gives us a continuous number line to perform theoretical measurements. It is a coordinate system. With a datum/origin/epoch, a unit of measure (a name for the 'tick marks' on the axis), positive and negative directions and the full range of normal arithmetic. It is a Coordinate Reference System. + +In this regime, the Allen Operators (<>) also can be used. If A occurs before B and B occurs before C, then we can correctly deduce that A occurs before C. The full set of operators also covers pairs of intervals. So if B occurs in the interval (A,C), we can now perform real number arithmetic operations like (B-A) or (C-A) as we have defined a timescale or measurement, and between any two instants, we can always find an infinite number of other instants. + +Some examples are: + +. Unix milliseconds since 1970-01-01T00:00:00.0Z + +. Julian Days, and fractions of a day, since noon on 1st January, 4713 BCE. + +This regime constitutes a Temporal Coordinate Reference System, with a continuous number line and units of measure, which can be subject to the full range of real or floating point arithmetic. + +=== Calendars + +In this regime, counts and measures of time are related to the various combinations of the rotations of the earth, moon and sun or other astronomical bodies. There is no simple arithmetic, so for example, the current civil year count of years in the Current Era (CE) and Before Current Era (BCE) is a calendar, albeit a very simple one, as there is no year zero. That is, Year 14CE – Year 12CE is a duration of 2 years, and Year 12BCE - Year 14BCE is also two years. However Year 1CE - Year 1BCE is one year, not two, as there is no year 0CE or 0BCE. + +Calendars are social constructs made by combining several clocks and their associated timescales. + +This paper only addresses the internationally agreed Gregorian calendar. <> provides overwhelming detail for conversion to numerous other calendars that have developed around the world and over the millennia and to meet the various social needs of communities, whether agricultural, religious or other. The reference is comprehensive but not exhaustive, as there are calendars that have been omitted. + +A Calendar is a Temporal Reference System, but it is not a Temporal Coordinate Reference System nor an Ordinal Temporal Reference System. + +=== Other Regimes + +==== General + +There are other regimes, which are out of scope of this document. This could include local solar time, useful, for example, for the calculation of illumination levels and the length of shadows on aerial photography, or relativistic time. + +==== Local Solar Time + +Local solar time may or may not correspond to the local statutory or legal time in a country. Local solar time can be construed as a clock and timescale, with an angular measure of the apparent position of the sun along the ecliptic (path through the sky) as the basic physical principle. + +==== Space-time + +When dealing with moving objects, we find that the location of the object in space depends on its location in time. That is to say, that the location is an event in space and time. + +Originally developed by <> to support work in Special Relativity, the concept of space-time is useful whenever the location of an object in space is dependent on its location in time. + +Since the speed of light in a vacuum is a measurable constant, space-time uses that constant to create a coordinate axis with spatial units of measure (meters per second * seconds = meters). The result is coordinate reference system with four orthogonal axes all with the same units of measure, distance. + +==== Relativistic + +A regime may be needed for 'space-time', off the planet Earth, such as for recording and predicting space weather approaching from the sun, where the speed of light and relativistic effects such as gravity may be relevant. + +Once off the planet Earth, distances and velocities can become very large. The speed of light becomes a limiting factor in measuring both where and when an event takes place. Special Relativity deals with the accurate measurement of space-time events as measured between two moving objects. The core concepts are the <>. These transforms allow one to calculate the degree of "contraction" a measurement undergos due to the relative velocity between the observing and observed object. + +The key to this approach is to ensure each moving feature of interest has its own local clock and time, known as its 'proper time'. This example can be construed as a fitting into the clock and timescale regime. The relativistic effects are addressed through the relationships between the separate clocks, positions and velocities of the features. + +Relativistic effects may need to be taken into account for satellites and other space craft because of their relative speed and position in Earth's gravity well. + +The presence of gravitational effects requires spatial relativity to be replaced by general relativity, and it can no longer be assumed the space (or space-time) are Euclidean. That is, Pythagoras' Theorem does not hold except locally over small areas. This is somewhat familiar territory for geospatial experts. + +==== Accountancy + +The financial and administrative domains often use weeks, quarters, and other calendrical measures. These may be convenient (though often not!) for the requisite tasks, but are usually inappropriate for scientific or technical purposes. + +== Notation + +There are often widely agreed, commonly accepted, notations used for temporal reference systems, but few have been standardised. Any particular notation may be capable of expressing a wider range of times than are valid for the reference system. + +[example] +The <> timestamp notation, a restrictive profile of <>, can express times before 1588CE, when the Gregorian calendar was first introduced in some parts of the world. + +== Attributes of the Regimes/Classes + +The top level `ReferenceSystem` is an abstract super-class and does not have many attributes or properties. So far, only the total dimension of the reference system and the Location, Time or Domain of Applicability have been identified as essential. + +The `ReferenceSystem` has two abstract sub-classes: `SpatialReferenceSystem`, which is defined in ISO19111, and `TemporalReferenceSystem`, each with the attributes of Dimension and Domain of Applicabiity. + +The Dimension is one for time, or a vertical reference system, but may be as much as 6 for spatial location with orientation. + +Besides the conventional space and time, there may be other reference systems, such as wavelength/frequency, that can be addressed by the Abstract Conceptual Model. + +=== Attributes of Events and Ordinal Temporal Reference Systems + +An OrdinalTemporal Reference System has a well-ordered finite sequence of events against which other events can be compared. + +. Name/Id + +. Optional location, time or domain of applicability + +. Optional Epoch, defined in some temporal reference system + +. Listed or enumerated sequence of events with the first and last events + +. Optional notations + +[example] +Ancient annals of a country may give a sequence of emperors which could be used to 'date' another event such as "Emperor Xi built a canal", or may be used to date a particular reign. For example: "In the reign of Emperor Yi, a comet was sighted" and later research identifies this as an appearance of Hailey's Comet. + +The events from the list may be instants, such as the change of reign, or intervals, such as the complete reign of each king. + +Other documents may enable two such 'king lists' to be related, though not completely. + +=== Attributes of simple Clock and Discrete Timescale + +A clock is a regular, repeating, physical event, or 'tick', that can be counted. The sequence of tick counts is a timescale. The ticks may be grouped into a Unit of Measure for convenience. Other events can be compared to the ticks on the timescale. + +. Name/Id + +. Optional location, time or domain of applicability + +. Optional Epoch, defined in some temporal reference system + +. Arithmetic: Integer + +. Optional name for each tick + +. Optional Start time or count + +. Optional End time or count + +. Optional Unit of Measure and number of ticks per Unit + +. Optional notations + +[example] +A well preserved fossilised log is recovered and the tree rings establish an annual 'tick'. The start and end times may be known accurately by comparison and matching with other known tree ring sequences, or perhaps only dated imprecisely via Carbon Dating, or its archaeological or geological context. + +[example] +A clock is started, but undergoes a calibration process against some standard clock, so the initial, reliable Start Time does not start at Count Zero. The clock is accidentally knocked so that it is no longer correctly calibrated, but is still working. The End Time is not the last time that the clock ticks. + +=== Attributes of Clocks + +. Name/id + +. Optional location, time or domain of applicability + +. Optional Epoch, defined in some temporal reference system + +. Tick definition + +[example] +An atomic clock may be calibrated to be valid only for a given temperature range and altitude. + +[example] +A pendulum clock may have each tick or swing of the pendulum adjusted to be an exact fraction or multipe of a second. The famous London "Big Ben" clock's pendulum is 4.4m long and ticks every two seconds. + +=== Attributes of Timescales + +. Name/id + +. Optional location, time or domain of applicability + +. Optional Epoch, defined in some temporal reference system + +. Arithmetic, whether counted integers or measured real/floating point numbers + +. Optional Unit of Measure + +[example] +TAI (International Atomic Time, Temps Atomique International) is coordinated by the BIPM (Inernational Bureau of Weights and measures, Bureau International de Poids et Mesures) in Paris, France. it is based on the average of hundreds of separate atomic clocks around the world, all corrected to be at mean sea level and standard pressure and temperature. The epoch is defined by Julian Date 2443144.5003725 (1 January 1977 00:00:32.184). + +[example] +The Julian Day is the continuous count of days (rotations of the Earth with respect to the Sun) since the beginning of the year 4173 BCE and will terminate at the end of the year 3267 CE. The count then starts again as "Period 2". Many computer based timescales, such as Unix Time, are based on the Julian Day timescale, but with different epochs, to fit the numbers into limited computer words. + +=== Attributes of Units of Measure + +The Direction attribute indicates whether counts or measures increase in the positive (future) or negative (past) direction. The attribute could be part of `Timescale` or `TemporalCoordinateReferenceSystem` rather than a separate class `UnitOfMeasure`, but on balance, it seems better here, as the names often imply directionality, such as fathoms increasing downwards, MYA (Millions of Years Ago) increasing earlier, Atmospheric Pressure in HPa (HectoPascals) decreasing upwards, and FL (FlightLevel) increasing upwards. + +. Name/Id/Abbreviation + +. Direction + +[example] +The number of the years before the Current Era (BCE, previously known as BC) increase further back in time, whereas the number of the years in the Current Era (CE, previously known as AD) increase further into the future. This is an example of two timescales, adjacent but wth no overlap. If there was a year zero defined, they could be replaced with one continuous timescale. + +=== Attributes of a CRS and Continuous Timescales + +Some clocks allow the measurement of intervals between ticks, such as the movement of the sun across the sky. Alternatively, the ticks may not be completely distinguishable, but are still stable enough over the time of applicability to allow measurements rather than counting to determine the passage of time. + +. Name/Id + +. Optional location, time or domain of applicability + +. Optional Epoch, defined in some temporal reference system + +. Aarithmetic: Real/floating point + +. Optional name for the Unit of Measure + +. Optional Start time or measure + +. Optional End time or measure + +. Optional notations + +[example] +A long, deep, ice core is retrieved from a stable ice-sheet. From long termmeteorological observations, the rate of accumulation of ice is known, so linear length can be equated to time (assuming a stable climate too). This enables the dates of some previously unknown large scale volcanic eruptions to be identified and timed. Identifiable nuclear fallout from specific atmospheric atomic bomb tests detected in the ice core increase the confidence in the timing accuracy. + +[example] +A long, deep, sediment core is extracted from the bottom of a lake with a long geological history. Two layers in the core are dated using radiocarbon dating. Assuming steady rates of sediment deposition, a continuous timescale can be interpolated between the dated layers, and extrapolated before and after the dated layers. + +=== Attributes of Calendars + +Calendars combine different timescales and their clocks and units of measure, and other events, to make a complex timeline against which events can be compared. calculated algorithms are used to determine which instants or intervals on the ompound timescale are identified and labelled. + +. Name/id + +. Optional location, time or domain of applicability + +. Optional Epoch, defined in some temporal reference system + +. Astronomical Type (e.g. solar, sidereal, lunar, luni-solar) + +. Predictive type (e.g. observed or calculated) + +. Optional Start time + +. Optional End time + +. Constituent units or clocks and counts or timescales + +. Algorithms to link constituent timescales + +. Optional notations + +[example] +The modern Gregorian calendar is calculated solar calendar, with various epochs from 1588 CE through to 1922 CE depending on location or country. + +The constituent timescales are days (earth's rotations), months (moon's orbit around the earth), years (earth's orbit around the sun) and seconds determined by atomic clocks. To accommodate discrepancies, leap days and leap seconds are intercalated in some years. The commonest notations for the Gregorian calendar are ISO8601 and its various restrictive profiles. + +[example] +The modern Islamic calendar is an observed lunar calendar, and the major religious dates progress throughout the year, year on year. The important months are determined by the observation of new moons from Mecca. + +[example] +The modern Jewish calendar is a calculated luni-solar calendar, and discrepancies in the solar year are addressed by adding 'leap months' every few +years. + +[example] +The Ba'hai calendar is a calculated solar calendar, but without any other astronomical aspects. The year consists of 19 months of 19 days each, with 4 or 5 intercalated days for a new year holiday. + +[example] +The West African Yoruba traditional calendar is a solar calendar with months, but rather than subdividing a nominal month of 28 days into 4 weeks, 7 weeks of 4 days are used. This perhaps gave rise to the fortnightly (every 8 days) markets in many villages in the grasslands of north-west Cameroon. + +[example] +Teams controlling remote vehicles on Mars use a solar calendar, with Martian years and Martian days (called Sols). Months are not used because there are two moons, with different, rather short, orbital periods. + +== Synchronisation of clocks + +If there are two or more clocks, stationary with respect to each other, and a practical method of communicating their times to each other, the clocks can be perfectly synchronized. + +However, if the clocks are moving with respect to each other, they cannot be precisely coordinated (unless the communication is instantaneous). As communication speed is limited by the finite constant speed of light, perfect synchronisation is not possible, though repetitive protocols can be used to reduce the synchronization error to any practical desired level. + +See <>.