Network Working Group

Internet Engineering Task Force (IETF)                        C. Bormann
Internet-Draft                                   Universitaet
Request for Comments: 8798                        Universität Bremen TZI
Intended status:
Category: Standards Track                           19 March 2020
Expires: 20 September                                      June 2020
ISSN: 2070-1721

         Additional Units for SenML
                  draft-ietf-core-senml-more-units-06 Sensor Measurement Lists (SenML)

Abstract

   The Sensor Measurement Lists (SenML) media type supports the
   indication of units for a quantity represented.  This short document
   registers a number of additional unit names in the IANA registry for
   Units
   units in SenML.  It also defines a registry for secondary units that
   cannot be in SenML's main registry registry, as they are derived by linear
   transformation from units already in that registry.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list  It represents the consensus of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid the IETF community.  It has
   received public review and has been approved for a maximum publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of six months RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 20 September 2020.
   https://www.rfc-editor.org/info/rfc8798.

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info)
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  New Primary Units . . . . . . . . . . . . . . . . . . . . . .   2
     2.1.  Rationale . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  New Registry for Secondary Units  . . . . . . . . . . . . . .   4
   4.  Operational Considerations  . . . . . . . . . . . . . . . . .   7
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   9
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   The Sensor Measurement Lists (SenML, [RFC8428]) (SenML) [RFC8428] media type supports
   the indication of a unit, using the SenML field "u", for the quantity
   given as a data value in a SenML record.  For this purpose, SenML
   defines an IANA registry of defined Unit unit names and their meanings; in
   the present document, we call the Unit unit names registered there
   "primary Unit unit names".

   This short document registers a number of additional units in the
   IANA registry for Units units in SenML that appear to be necessary for
   further adopting SenML in other Standards Development Organizations
   (SDOs).

   The document also defines a registry for secondary Unit unit names that
   cannot be in SenML's main registry registry, as they are derived by linear
   transformation from units already in that registry.  Although SenML
   version 10 [RFC8428] does not provide for the direct use of these
   secondary units, they are planned to be supported future support is intended via the use of SenML
   extension mechanisms, one of which is proposed in
   [I-D.bormann-core-senml-versions]. [SENML-VERSIONS].

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  New Primary Units

   IANA is requested to assign has assigned new units in the "SenML Units" subregistry of the SenML
   "Sensor Measurement Lists (SenML)" registry [IANA.senml] [IANA.SENML] (as defined
   in [RFC8428]):

   +--------+--------------------------------------+-------+-----------+
   | Symbol | Description                          | Type  | Reference |
   +========+======================================+=======+===========+
   | B      | Byte (information content)           | float | RFCthis RFC 8798  |
   +--------+--------------------------------------+-------+-----------+
   | VA     | volt-ampere (Apparent Power)         | float | RFCthis RFC 8798  |
   +--------+--------------------------------------+-------+-----------+
   | VAs    | volt-ampere second (Apparent         | float | RFCthis RFC 8798  |
   |        | Energy)                              |       |           |
   +--------+--------------------------------------+-------+-----------+
   | var    | volt-ampere reactive (Reactive       | float | RFCthis RFC 8798  |
   |        | Power)                               |       |           |
   +--------+--------------------------------------+-------+-----------+
   | vars   | volt-ampere reactive volt-ampere-reactive second          | float | RFCthis RFC 8798  |
   |        | (Reactive Energy)                    |       |           |
   +--------+--------------------------------------+-------+-----------+
   | J/m    | joule per meter (Energy per          | float | RFCthis RFC 8798  |
   |        | distance)                            |       |           |
   +--------+--------------------------------------+-------+-----------+
   | kg/m3  | kilogram per cubic meter (mass       | float | RFCthis RFC 8798  |
   |        | density, mass concentration)         |       |           |
   +--------+--------------------------------------+-------+-----------+
   | deg    | degree (angle)*                      | float | RFCthis RFC 8798  |
   +--------+--------------------------------------+-------+-----------+

                  Table 1: New units registered Units Registered for SenML

2.1.  Rationale

   SenML [RFC8428] takes the position that unscaled SI units should
   always be used.  However, SenML makes one exception: The degree
   Celsius (as Cel) is allowed as an alternative to the K (Kelvin).

   This document takes the position that the same should apply to a
   small number of alternative units in wide use:

   *

   The Byte. Byte:  [IEC-80000-13] defines both the bit (item 13-9.b) and the
      byte (item 13-9.c, also called octet) as alternative names for the
      coherent unit used for dimensionless quantities, for the purpose
      of giving storage capacity and related quantities.  While the name
      octet is associated with the symbol o, this is in wide use only in
      French-speaking countries.  Globally more wide-spread widespread is the symbol
      B for byte, even though B is already taken in SI for bel.
      [RFC8428] therefore registers dB as the SenML unit for logarithmic
      relative power, leaving B free for the usage proposed here.  While
      this is potentially confusing, the situation is widely understood
      in engineering circles and is unlikely to cause actual problems.

   *

   The Volt-Ampere.  [IEC-80000-6]} item 6-57.a Volt-Ampere:  [IEC-80000-6] defines the VA (volt
      ampere) volt ampere (VA) (item
      6-57.a) as a unit for apparent power; items 6-59.a, 6-60.a 6-60.a, and
      6-61.a also use the unit for complex, reactive, and non-active
      power.

   *

   The Volt-Ampere-reactive. Volt-Ampere Reactive:  [IEC-80000-6] item 6-60.b defines the
      var (volt ampere reactive)
      volt-ampere reactive (var) as an alternative (and fully
      equivalent) unit to VA specifically for reactive power (with the
      primary unit VA); it has become clear that there is strong
      interest in using this unit specifically for the imaginary content
      of complex power, i.e., reactive power [IEEE-1459].

   The unit "degrees" is in wide use in practice for plane angles (as in
   heading, bearing, etc.).  It is marked with an asterisk because the
   preferred coherent SI unit is radian ("rad").

   The Joule per meter is not a traditional electromagnetic unit.  It
   and its scaled derivatives (in particular Wh/km) are used to describe
   the energy expended for achieving motion over a given distance, e.g.,
   as an equivalent for electrical cars of the inverse of "mileage".

   The unit "degree" is in wide use in practice for plane angles (as in
   heading, bearing, etc.).  It is marked with an asterisk because the
   preferred coherent SI unit is radian ("rad").

3.  New Registry for Secondary Units

   IANA is requested to create has created a "secondary units" "Secondary Units" subregistry in the
   SenML "Sensor
   Measurement Lists (SenML)" registry [IANA.senml] [IANA.SENML] defined in
   [RFC8428].

   The registry has six columns:

   *  secondary unit:  Secondary Unit: a newly registered name allocated within the same
      namespace as SenML units

   *  description:  Description: a short description (usually just the expansion of an
      abbreviation)

   *  SenML unit: Unit: an existing SenML unit from the SenML units Units registry

   *  scale, offset:  Scale, Offset: two rational numbers, expressed in decimal
      (optionally, with a decimal exponent given) or as a fraction
      represented using a "/" character to separate numerator and
      denominator.
      denominator

   *  Reference: where does the entry come from. comes from

   Quantities expressed in the secondary unit can be converted into the
   SenML unit by first multiplying their value with the scale number and
   then adding the offset, yielding the value in the given SenML unit.

   The initial content of the secondary units registry "Secondary Units" subregistry is provided
   in Table 2:

   +-----------+----------------------+------+-----------+---+---------+
   | secondary | description          |SenML

   +---------+----------------------+-----+---------+------+-----------+
   |Secondary| Description          |SenML|   Scale |Offset| Reference |     scale |off| refer-
   | Unit    | unit                      |Unit |         | unit      |           |set| ence           |
   +===========+======================+======+===========+===+=========+
   +=========+======================+=====+=========+======+===========+
   | ms      | millisecond          | s   |  1/1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | min     | minute               | s   |      60 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | h       | hour                 | s   |    3600 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | MHz     | megahertz            | Hz  | 1000000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | kW      | kilowatt             | W   |    1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | kVA     | kilovolt-ampere      | VA  |    1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | kvar    | kilovar              | var |    1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | Ah      | ampere-hour          | C   |    3600 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | Wh      | watt-hour            | J   |    3600 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | kWh     | kilowatt-hour        | J   | 3600000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | varh    | var-hour             | vars             |vars |    3600 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | kvarh   | kilovar-hour         | vars         |vars | 3600000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | kVAh    | kilovolt-ampere-hour | VAs | 3600000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | Wh/km   | watt-hour per        | J/m |     3.6 |    0 | RFCthis RFC 8798  |
   |         | kilometer            |     |         |      |           |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | KiB     | kibibyte             | B   |    1024 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | GB      | gigabyte             | B   |     1e9 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | Mbit/s  | megabit per second   |bit/s |   |bit/s| 1000000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | B/s     | byte per second      |bit/s |      |bit/s|       8 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | MB/s    | megabyte per second  |bit/s |  |bit/s| 8000000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | mV      | millivolt            | V   |  1/1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | mA      | milliampere          | A   |  1/1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | dBm     | decibel (milliwatt)  | dBW |       1 |-30| RFCthis |
   +-----------+----------------------+------+-----------+---+---------+  -30 | RFC 8798  |
   +---------+----------------------+-----+---------+------+-----------+
   | ug/m3   | microgram per cubic  |kg/m3 |  |kg/m3|    1e-9 |    0 | RFCthis RFC 8798  |
   |         | meter                |     |         |      |           |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | mm/h    | millimeter per hour  | m/s  | 1/3600000 | |1/3600000|    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | m/h     | meter per hour       | m/s |  1/3600 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | ppm     | parts per million    | /   |    1e-6 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | /100    | percent (Note 1)     | /   |   1/100 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | /1000   | permille             | /   |  1/1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | hPa     | hectopascal          | Pa  |     100 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | mm      | millimeter           | m   |  1/1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | cm      | centimeter           | m   |   1/100 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | km      | kilometer            | m   |    1000 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+
   | km/h    | kilometer per hour   | m/s |   1/3.6 |    0 | RFCthis RFC 8798  |
   +-----------+----------------------+------+-----------+---+---------+
   +---------+----------------------+-----+---------+------+-----------+

               Table 2: Secondary units registered Units Registered for SenML

      |  Note 1: This registration does not use the obvious name "%"
      |  because this name has been taken in [RFC8428] already, where it
      |  is a NOT RECOMMENDED synonym for "/" (unity) for legacy
      |  reasons.  Note that the presence of both "%" and "/100" with
      |  different meanings is likely to create confusion, so the
      |  present document adds some weight to the recommendation against
      |  using the counterintuitive unit name "%".

   Example: the The value of a quantity given as 100 ms is first multiplied
   by 1/1000, yielding the number 0.1, and then the offset 0 is then added,
   yielding the number 0.1 again, leading to a quantity of 0.1 s.  The
   value of a quantity given as 10 dBm is first multiplied by 1,
   yielding the number 10, and then the offset -30 is then added, yielding
   the number -20, leading to a quantity of -20 dBW.

   New entries can be added to the registration by Expert Review as
   defined in [RFC8126].  Experts should exercise their own good
   judgment, with the same guidelines as used for SenML units
   (Section 12.1 of [RFC8428]), but without applying the rules 4, 5, and 8.
   Note that rule 7 limits the use of what could be understood as
   prefixes on their own, not the use of prefixes inside secondary unit
   names.  Guidelines to the difference between units (which can go into
   the registry) and quantities (which cannot) are widely available, see available;
   see, for instance instance, [RS] and [BIPM].

   As of SenML version 10 [RFC8428], SenML packs are limited to using
   primary units in "u" fields.  The use of primary units enables direct
   comparison of measurements from different sources.  Also, it
   facilitates implementations that trigger on the presence of a
   quantity in a certain unit, without the need to track any additional
   secondary units that may be registered for this quantity.

   Where the benefits of directly using a secondary unit in a SenML pack
   outweigh the above considerations, the use of secondary units in "u"
   fields MAY be enabled by indicating a new SenML version that
   specifically allows this and/or by using a field with a label name
   that ends with the "_" character ("must-understand" field) whose
   definition specifically allows this.  The definition of these
   versions and fields is outside the scope of the present
   specification; one such definition is proposed in
   [I-D.bormann-core-senml-versions]. [SENML-VERSIONS].

4.  Operational Considerations

   The secondary unit registry "Secondary Units" subregistry is expected to grow at a faster
   pace than the registry subregistry of primary unit names.  It also is amenable
   to automatic interpretation, by making use of the scale and offset
   columns.

   Implementers may be tempted to equip each instance of their systems
   with code to download new versions of the registry from IANA
   frequently,
   frequently in order to be able to make use of newly defined secondary
   unit names.  This can create high load at IANA and a potential single
   point of failure.  Instead of pulling the registry in each individual
   instance of the code, the software update mechanism (or a similar
   mechanism that leads to less frequent IANA visits) SHOULD be used to
   disseminate updated units registries obtained from IANA towards the
   instances via common repositories.

5.  Security Considerations

   The security considerations of [RFC8428] apply.

   The introduction of new measurement units poses no additional
   security considerations except from a possible potential for additional confusion
   about the proper unit to use, use and from the risk that an implementation
   based on the assumption described in the penultimate paragraph of
   Section 3 no longer works properly.  However, an implementation
   processing a pack while making use of secondary units is guaranteed
   to have been developed with an awareness of the risks of having
   multiple units available for the same logical type.  In any case, the
   existing risk of an existing SenML implementation not understanding a
   unit that was not in the initial registry content provided in [RFC8428],
   [RFC8428] is unchanged, and implementations are warned properly about
   the potential use of secondary units by the need for a must-understand must-
   understand field or an updated version field.

6.  IANA Considerations

   See Section 2 and Section 3.

7.  References

7.1.  Normative References

   [IANA.senml]

   [IANA.SENML]
              IANA, "Sensor Measurement Lists (SenML)",
              <http://www.iana.org/assignments/senml>.
              <https://www.iana.org/assignments/senml>.

   [IEC-80000-13]
              IEC, "Quantities and units - Part 13: Information science
              and technology", Edition 1.0, IEC 80000-13, 1 March 2008.

   [IEC-80000-6]
              IEC, "Quantities and units - Part 6: Electromagnetism",
              Edition 1.0, IEC 80000-6, 1 March 2008.

   [IEEE-1459]
              IEEE, "IEEE Standard Definitions for the Measurement of
              Electric Power Quantities Under Sinusoidal, Nonsinusoidal,
              Balanced, or Unbalanced Conditions", IEEE Std 1459-2010,
              19
              DOI 10.1109/IEEESTD.2010.5439063, March 2010. 2010,
              <https://doi.org/10.1109/IEEESTD.2010.5439063>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8428]  Jennings, C., Shelby, Z., Arkko, J., Keranen, A., and C.
              Bormann, "Sensor Measurement Lists (SenML)", RFC 8428,
              DOI 10.17487/RFC8428, August 2018,
              <https://www.rfc-editor.org/info/rfc8428>.

7.2.  Informative References

   [BIPM]     Bureau International des Poids es et Mesures, "The
              International System of Units (SI), (SI)", 9th edition", edition, version
              1.06, 2019,
              <https://www.bipm.org/utils/common/pdf/si-brochure/SI-
              Brochure-9-EN.pdf>.

   [I-D.bormann-core-senml-versions] <https://www.bipm.org/utils/common/pdf/si-
              brochure/SI-Brochure-9-EN.pdf>.

   [RS]       Rohde & Schwarz, "Standard-compliant usage of quantities,
              units and equations", version 5.0, July 2017,
              <https://scdn.rohde-
              schwarz.com/ur/pws/dl_downloads/dl_common_library/
              dl_brochures_and_datasheets/pdf_1/Standard-compliant_usage
              _of_quantities_units_and_equations_bro_en_5214-5061-62_v05
              00.pdf>.

   [SENML-VERSIONS]
              Bormann, C., "SenML Features and Versions", Work in
              Progress, Internet-Draft, draft-bormann-core-senml-
              versions-01, 6 March draft-ietf-core-senml-versions-
              00, 13 May 2020, <http://www.ietf.org/internet-
              drafts/draft-bormann-core-senml-versions-01.txt>.

   [RS]       Rohde&Schwarz, "Standard-compliant usage of quantities,
              units and equations", version 4.0, November 2016,
              <https://karriere.rohde-schwarz.de/fileadmin/user_upload/
              Standard-compliant_usage_of_quantities_units_and_equations
              _bro_en_5214-5061-62_v0400_96dpi.pdf>. <https://tools.ietf.org/html/draft-ietf-
              core-senml-versions-00>.

Acknowledgements

   Ari Keranen Keränen pointed out the need for additional units in SenML.
   Comments provided by him as well as by Thomas Fossati, Joaquin Prado,
   Jaime Jimenez, Jiménez, Benjamin Kaduk, and Rob Wilton helped improve the
   document.

Author's Address

   Carsten Bormann
   Universitaet
   Universität Bremen TZI
   Postfach 330440
   D-28359 Bremen
   Germany

   Phone: +49-421-218-63921
   Email: cabo@tzi.org