Copyright © 1992, 1997 International Organization for Standardization. All rights reserved.

This electronic document is for use during development and review of International Standards. Official printed copies of International Standards can be purchased from the ISO and the national standards organization of your country.

Next ClausePrevious Clause  

homeParent clauseNext major clausePrevious major clauseNext clause at this levelPrevious clause at this level


9 Scheduling module

9.2 Measurement units

Subclauses:


At the root of any standardized measurement system there must be a base that is not open to conflicting interpretations. In HyTime, that base is called a "standard measurement unit" (SMU). In the introduction to coordinate addressing (6.8 Coordinate Specifications), the SMU was a "generic quantum" -- a virtual measurement suitable only for expressing relative sizes and positions. However, when the scheduling module is used, there are also real and other virtual SMUs. The real SMUs are based on Systeme International (SI) units, such as the SI second and the SI meter.

In order to guarantee consistency in the meaning of SMUs, they are declared with formal public identifiers in notation declarations. SMUs can be declared by applications, but HyTime provides an initial set (see 9.2.3.1 Common Standard Measurement Units).

9.2.1 Measurement domain definition

An SMU is unlikely to be the correct granularity for all hypermedia applications, or even for all extent specifications in a single application. It is therefore possible to create a "measurement domain definition" that establishes a set of base granules, all defined ultimately in terms of the SMU of that domain. For further flexibility, "HyTime Measurement Units (HMUs)" can be used by defining them as a ratio of a granule.

NOTE 258 For example, HMUs with such values as 24 and 30 per second can be used for synchronization with motion pictures and video.

The element form measurement domain definition (measure) establishes a set of base granules, each defined as a ratio of a "reference granule", and all defined ultimately in terms of the SMU of the domain.

NOTE 259 For example, a measurement domain based on the SI second could include granules for "hour" and "microsecond".

The attribute domain SMU (SMU) specifies the standard measurement unit for the domain. It must have been declared as the notation name of a data content notation with a formal public identifier that is a measurement unit. If the domain is virtual, the text identifier component of the public identifier must be "Virtual Measurement Unit".

Multiple measurement domain definitions with the same domain SMU are treated as defining a single measurement domain.

NOTE 260 This rule makes it easy to supplement a standard measurement domain definition with granules needed for a specific document.

Instances of the element form granule definition (granule) define granules in terms of the domain SMU. For each instance, the attribute granule name (gn) names the granule, and the content of the element is its definition. The definition is expressed in the notation specified by the attribute granule definition notation (gdnot).

Granule names are case-sensitive.

NOTE 261 For example, "mm" and "Mm" are two distinct granule names in the SI meter domain.

A granule name cannot be the same as another granule name in the same measurement domain.

A granule name cannot be the same as the SMU name of its measurement domain. As granule names are case-sensitive and SMU names are not, case is ignored when applying this rule.

NOTE 262 For example, the granule name "sisecond" is not permitted in the measurement domain "SIsecond" because the granule name and SMU name are the same when case is ignored.

                <!-- Measurement Domain Definition -->
<![ %measure; [
<![ %HyGrand; [
   <!entity % dgdnot "HyGrand">
]]>
<!entity %
   dgdnot         -- Default granule definition notation --
                  -- Clause: 9.2.1 --

   "#REQUIRED"
>
<!element
   measure        -- Measurement domain definition --
                  -- Clause: 9.2.1 --
                  -- Defines a set of granules in terms of a standard
                     measurement unit (SMU).  Multiple measurement
                     domain definitions for the same SMU comprise one
                     domain. --
   - O
   (granule+)

-- Attributes [sched]: measure --
-- CommonAttributes [GenArc]: dafe, dvlatt, etfullnm, id,
   ireftype, lextype, opacity --
-- CommonAttributes [base]: activity, conloc, dtxtatt, valueref --
-- CommonAttributes [locs]: refctl, refloc, reftype, rflocspn --
>
<!attlist
   measure        -- Measurement domain definition --
                  -- Clause: 9.2.1 --

   smu            -- Standard measurement unit --
                  -- The standard measurement unit for the domain --
      NAME        -- Lextype: SMU --
      #REQUIRED
>
<!element
   granule        -- Granule definition --
                  -- Clause: 9.2.1 --
                  -- The content of a granule definition element
                     defines the mathematical relationship between the
                     granule being defined and the measurement domain's
                     SMU. --
                  -- Note: The relationship may be defined in terms of
                     another granule of the same measurement domain. --
   - O
   (%HyCFC;)*

-- Attributes [sched]: granule --
-- CommonAttributes [GenArc]: dafe, dvlatt, etfullnm, id,
   ireftype, lextype, opacity --
-- CommonAttributes [base]: activity, conloc, dtxtatt, valueref --
-- CommonAttributes [locs]: refctl, refloc, reftype, rflocspn --
>
<!attlist
   granule        -- Granule definition --
                  -- Clause: 9.2.1 --

   gn             -- Granule name --
                  -- The granule name being defined. Granule names are
                     not normalized as SGML names (that is, they are
                     case-sensitive). --
      CDATA       -- Lextype: granule --
                  -- Constraint: unique within measurement domain --
                  -- Constraint: cannot be same as SMU name (with case
                     ignored) --
      #REQUIRED

   gdnot          -- Granule definition notation --
                  -- Notation used to specify the relationship between
                     the granule being defined and the measurement
                     domain's SMU. --
      NAME        -- Lextype: NOTATION --
      %dgdnot;
>
]]><!-- measure -->

9.2.2 HyTime granule definition notation

By default, the HyTime granule definition notation (HyGrand) is used to define granules.

A HyGrand expression defines a granule (that is, a quantum type) as a ratio of it to a "reference" granule. The ratio is specified as a pair of numbers, the first being the numerator and the second being the denominator. The reference granule can be any granule that was defined without reference (direct or indirect) to the granule being defined.

             <!-- HyTime Granule Definition Notation -->
<![ %HyGrand; [
<!notation
   HyGrand        -- HyTime Granule Definition Notation --
                  -- Clause: 9.2.2 --
                  -- The mathematical relationship between a granule
                     and its measurement domain's SMU is specified as
                     a ratio of the granule being defined to either
                     the SMU or another granule of the same domain. --
                  -- Lextype: (ratio,(granule|SMU)) --
                  -- Constraint: A granule may not be defined in terms of
                     itself, either directly or indirectly. --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           HyTime Granule Definition Notation//EN"

-- CommonAttributes [GenArc]: altreps, included, superdcn --
-- CommonAttributes [base]: bosdatt --
-- CommonAttributes [locs]: egrvplan --
>
<!entity % measure "INCLUDE">
]]><!-- HyGrand -->

9.2.3 Useful measurement domains

HyTime includes measurement domain definitions for virtual time (virTime), virtual space (virSpace), real time (SIsecond), and real space (SImeter), in addition to an explicit domain definition for the generic quantum (gQuantum) (see 9.2.3.2 Measurement domain definitions).

NOTE 263 Differences in granule names can be meaningful to an application, even when they are equivalent to HyTime (for example, "thumb" and "inch" in the SImeter domain).

NOTE 264 The wide range of granules allows convenient choices for diverse applications.

NOTE 265 Real measurement in a computer is not a continuum. There is a discrete number of computer clock ticks per second and a discrete number of points of resolution on a display or printer. This fact simplifies measurement calculations for HyTime.

9.2.3.1 Common Standard Measurement Units

The following notation declarations provide Standard Measurement Units required for most hypermedia applications.

                      <!-- Measurement Units -->
<![ %sched; [
<!notation
   gQuantum       -- Generic quantum --
                  -- Reference unit of generic quanta --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Virtual Measurement Unit//EN"
>
<!notation
   SIsecond       -- Systeme International second --
                  -- Reference unit of real time --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International second//EN"
>
<!notation
   SImeter        -- Systeme International meter --
                  -- Reference unit of real length --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International meter//EN"
>
<!notation
   virTime        -- Virtual Time --
                  -- Reference unit of virtual time --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Virtual Measurement Unit//EN"
>
<!notation
   virSpace       -- Virtual Space --
                  -- Reference unit of virtual space --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Virtual Measurement Unit//EN"
>
]]><!-- sched -->

9.2.3.2 Measurement domain definitions

HyTime defines five measurement domain definitions for the useful SMU notation declarations, that can be referenced as public text using the following SGML formal public identifier:

"ISO/IEC 10744:1997//TEXT
 Useful Measurement Domain Definitions//EN"

The element and attribute list declarations for "measure" and "granule" are not included here. They are identical to the definitions of the architectural forms, except that the content of "granule" is declared to be #PCDATA.

NOTE 266 As the set of granules is unbounded, these measurement domain definitions are necessarily incomplete. Therefore, the absence of a granule should not be construed as a rejection. Granules can be added easily using the facilities described in 9.2.1 Measurement domain definition. For example, granules could be added to represent clock ticks for various computer systems.

9.2.3.2.1 Generic quantum
<measure smu=gQuantum>
  <granule gn=quantum>               1      1 gQuantum
  <granule gn=bit-combination>       1      1 quantum
  <granule gn=token>                 1      1 quantum
  <granule gn=node>                  1      1 quantum
  <granule gn=cell>                  1      1 quantum
</measure>
9.2.3.2.2 Virtual time
<measure smu=virTime>
  <granule gn=vtu>                   1      1 virTime
  <granule gn=tact>                  1      1 vtu
  <granule gn=metronom>              1      1 vtu
</measure>
9.2.3.2.3 Virtual space
<measure smu=virSpace>
  <granule gn=vsu>                   1      1 virSpace
</measure>
9.2.3.2.4 Systeme International second
 <measure smu=SIsecond>
  <granule gn=ysec>                  1   1000 zsec
  <granule gn=zsec>                  1   1000 asec
  <granule gn=asec>                  1   1000 fsec
  <granule gn=fsec>                  1   1000 psec
  <granule gn=psec>                  1   1000 nsec
  <granule gn=nsec>                  1   1000 usec
  <granule gn=usec>                  1   1000 msec
  <granule gn=msec>                  1     10 csec
  <granule gn=csec>                  1     10 dsec
  <granule gn=dsec>                  1     10 second
  <granule gn=SMPTE-50>              1     50 second
  <granule gn=V1250>                 1     50 second
  <granule gn=NTSC>                  1     30 second
  <granule gn=SMPTE-240M>            1     30 second
  <granule gn=SMPTE-30>              1     30 second
  <granule gn=SMPTE-30-drop>       100   2997 second
  <granule gn=SMPTE-25>              1     25 second
  <granule gn=PAL>                   1     25 second
  <granule gn=SECAM>                 1     25 second
  <granule gn=European>              1     25 second
  <granule gn=SMPTE-24>              1     24 second
  <granule gn=motion-picture>        1     24 second
  <granule gn=SMPTE-24-drop>       100   2396 second
  <granule gn=PC-tick>              10    182 second
  <granule gn=second>                1      1 SIsecond
  <granule gn=dasec>                10      1 second
  <granule gn=hsec>                 10      1 dasec
  <granule gn=ksec>                 10      1 hsec
  <granule gn=Msec>               1000      1 ksec
  <granule gn=Gsec>               1000      1 Msec
  <granule gn=Tsec>               1000      1 Gsec
  <granule gn=Psec>               1000      1 Tsec
  <granule gn=Esec>               1000      1 Psec
  <granule gn=Zsec>               1000      1 Esec
  <granule gn=Ysec>               1000      1 Zsec
  <granule gn=minute>               60      1 second
  <granule gn=quarter-hour>         15      1 minute
  <granule gn=half-hour>            30      1 minute
  <granule gn=hour>                 60      1 minute
  <granule gn=day>                  24      1 hour
  <granule gn=week>                  7      1 day
  <granule gn=fortnight>             2      1 week
 <!-- Year and the granules based on it might not be accurate enough
      for some applications. -->
  <granule gn=year>            3652422  10000 day
  <granule gn=decade>               10      1 year
  <granule gn=century>              10      1 decade
  <granule gn=millennium>         1000      1 year
 </measure>
9.2.3.2.5 Systeme International meter
<measure smu=SImeter>
  <granule gn=ym>                    1   1000 zm
  <granule gn=zm>                    1   1000 am
  <granule gn=am>                    1   1000 fm
  <granule gn=fm>                    1   1000 pm
  <granule gn=pm>                    1   1000 nm
  <granule gn=angstrom>              1     10 nm
  <granule gn=nm>                    1   1000 um
  <granule gn=um>                    1   1000 mm
  <granule gn=mm>                    1     10 cm
  <granule gn=cm>                    1     10 dm
  <granule gn=dm>                    1     10 meter
  <granule gn=meter>                 1      1 SImeter
  <granule gn=dam>                  10      1 meter
  <granule gn=hm>                   10      1 dam
  <granule gn=km>                   10      1 hm
  <granule gn=Mm>                 1000      1 km
  <granule gn=nautical-mile>      1852      1 meter
  <granule gn=Gm>                 1000      1 Mm
  <granule gn=AU>                    1 206265 parsec
  <granule gn=Tm>                 1000      1 Gm
  <granule gn=lightyear>           100    326 parsec
  <granule gn=Pm>                 1000      1 Tm
  <granule gn=parsec>             3086      1 Tm
  <granule gn=Em>                 1000      1 Pm
  <granule gn=Zm>                 1000      1 Em
  <granule gn=Ym>                 1000      1 Zm
  <granule gn=microinch>             1   1000 milliinch
  <granule gn=milliinch>             1   1000 inch
<!-- Point and pica are the rounded versions commonly used in computer
     systems and might not be accurate enough for some applications. -->
  <granule gn=point>                 1     12 pica
  <granule gn=pica>                  1      6 inch
  <granule gn=barleycorn>            1      3 inch
  <granule gn=nail>                  1     16 yard
  <granule gn=inch>                254    100 cm
  <granule gn=thumb>                 1      1 inch
  <granule gn=hand>                  4      1 inch
  <granule gn=Roman-foot>         1164    100 inch
  <granule gn=foot>                 12      1 inch
  <granule gn=Greek-foot>         1244    100 inch
  <granule gn=Northern-foot>        11     10 foot
  <granule gn=cubit>                18      1 inch
  <granule gn=Sumerian-cubit>      495     10 cm
  <granule gn=royal-cubit>        2062    100 inch
  <granule gn=yard>                  3      1 foot
  <granule gn=ell>                   5      4 yard
  <granule gn=fathom>                6      1 foot
  <granule gn=perch>                11      2 yard
  <granule gn=pole>                  1      1 perch
  <granule gn=rod>                   1      1 perch
  <granule gn=chain>                66      1 feet
  <granule gn=furlong>             220      1 yard
  <granule gn=quarter-mile>        440      1 yard
  <granule gn=mile>               1760      1 yard
  <granule gn=league>                3      1 mile
</measure>

9.2.3.3 Other standard measurement units

The following notation declarations can be used for virtual reality applications or other situations that require units of measure other than temporal, spatial, and generic quanta. They comprise the remaining Systeme International base units and supplementary units.

<![ %sched; [
<!notation
   SIkg           -- Systeme International kilogram --
                  -- Reference unit of mass --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International kilogram//EN"
>
<!notation
   SIkelvin       -- Systeme International kelvin --
                  -- Reference unit of thermodynamic temperature --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International kelvin//EN"
>
<!notation
   SIcd           -- Systeme International candela --
                  -- Reference unit of luminous intensity --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International candela//EN"
>
<!notation
   SIampere       -- Systeme International ampere --
                  -- Reference unit of electric current --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International ampere//EN"
>
<!notation
   SImole         -- Systeme International mole --
                  -- Reference unit of amount of substance --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International mole//EN"
>
<!notation
   SIradian       -- Systeme International radian --
                  -- Reference unit of plane angle --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International radian//EN"
>
<!notation
   SIsr           -- Systeme International steradian --
                  -- Reference unit of solid angle --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International steradian//EN"
>
]]><!-- sched -->

Declarations for other SI derived units should be constructed similarly: the notation name should consist of the letters "SI" followed by the special name of the derived unit if it is 6 characters or less, otherwise by the symbol for the derived unit. (The special name and the symbol can be found in ISO 31-0:1991.) For example:

<![ %sched; [
<!notation
   SIC            -- Systeme International degree Celsius --
                  -- Reference unit of celsius temperature --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Systeme International degree Celsius//EN"
>
]]><!-- sched -->

Declarations of primary units of national currency should be constructed as follows: the notation name should consist of the nation's three character country code as specified in ISO 3166, followed by the first five characters of the name of the currency. For example:

<![ %sched; [
<!notation
   CHNYUAN        -- Yuan currency unit of China --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Yuan currency unit of China//EN"
>
<!notation
   GBRPOUND       -- Pound currency unit of United Kingdom --

   PUBLIC "ISO/IEC 10744:1997//NOTATION
           Pound currency unit of United Kingdom//EN"
>
]]><!-- sched -->

Next ClausePrevious Clause  

Copyright © 1992, 1997 International Organization for Standardization. All rights reserved.

This electronic document is for use during development and review of International Standards. Official printed copies of International Standards can be purchased from the ISO and the national standards organization of your country.


HTML generated from the original SGML source using a DSSSL style specification and the SGML output back-end of the JADE DSSSL engine.