Internet DRAFT - draft-hartke-core-lighting
draft-hartke-core-lighting
Thing-to-Thing Research Group K. Hartke
Internet-Draft Universitaet Bremen TZI
Intended status: Experimental September 14, 2015
Expires: March 17, 2016
CoRE Lighting
draft-hartke-core-lighting-00
Abstract
CoRE Lighting is an application-level protocol for discovering,
configuring and controlling smart objects (or "things") in a simple
lighting scenario. The protocol is based on CoAP transfer of
representations that are formatted according to media types defined
in this document.
Note to Readers
This Internet-Draft is discussed on the Thing-to-Thing Research Group
(T2TRG) mailing list <t2trg@irtf.org>.
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 of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents 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 March 17, 2016.
Copyright Notice
Copyright (c) 2015 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
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
Hartke Expires March 17, 2016 [Page 1]
Internet-Draft CoRE Lighting September 2015
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. Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1. Description . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Discovery . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3. Configuration . . . . . . . . . . . . . . . . . . . . . . 7
3.4. Operation . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Links and Forms in JSON . . . . . . . . . . . . . . . . . . . 9
4.1. Resource Objects . . . . . . . . . . . . . . . . . . . . 9
4.2. Link Objects . . . . . . . . . . . . . . . . . . . . . . 10
4.3. Form Objects . . . . . . . . . . . . . . . . . . . . . . 10
5. Application Description . . . . . . . . . . . . . . . . . . . 11
5.1. The 'application/thing-description+json' Media Type . . . 12
5.2. The 'application/bulletin-board+json' Media Type . . . . 13
5.3. The 'application/lighting-config+json' Media Type . . . . 14
5.4. The 'application/lighting+json' Media Type . . . . . . . 15
5.5. The 'config' Link Relation Type . . . . . . . . . . . . . 16
6. Interoperability Considerations . . . . . . . . . . . . . . . 17
7. Security Considerations . . . . . . . . . . . . . . . . . . . 17
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
8.1. Link Relation Types . . . . . . . . . . . . . . . . . . . 17
8.2. CoAP Content Formats . . . . . . . . . . . . . . . . . . 17
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.1. Normative References . . . . . . . . . . . . . . . . . . 18
9.2. Informative References . . . . . . . . . . . . . . . . . 18
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 20
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 20
1. Foreword
Hypermedia helps greatly with change (i.e., evolving clients and
servers) in the Web. Can it also work for the Internet of Things
(IoT)? The Thing-to-Thing Research Group (T2TRG) wants to answer
this question by implementing and evolving an example IoT
application.
This document presents a CoRE Application [I-D.hartke-core-apps],
media types, and link and form relation types for a simple lighting
scenario.
Hartke Expires March 17, 2016 [Page 2]
Internet-Draft CoRE Lighting September 2015
The purpose of this document is not to attempt to set a solution in
stone. Rather, it aims to present a starting point for discussion
and experimentation within the T2TRG.
The idea is that people can add further appliances, media types, and
interactions in an uncoordinated fashion ("permissionless
innovation"), thus evolving, twisting and growing the application
just like a real application might evolve over a longer period of
time.
For a first plugfest, this document makes the following simplifying
assumptions:
o There are exactly two types of "things": light bulbs and light
remote controls (LRCs).
o Bulbs and LRCs support on/off, brightness level, and color control
(hue/saturation, color coordinates, and color temperature).
o LRCs and light bulbs are connected on a one-to-one basis.
o Things are 'always on', i.e., it is expected that things do not
disconnect from the network to save energy.
o CoAP [RFC7252] is used as transport protocol.
o JSON [RFC7159] is used as serialization format. More efficient
formats (such as CBOR [RFC7049]) will be incorporated at a later
stage.
o Group communication will be considered at a later stage.
o Mobile things will be considered at a later stage.
o Security will be considered at a later stage.
It is further expected that parts of the application (such as the
machine-readable description of Things) will converge with the work
of the W3C Web of Things (WoT) Interest Group [WOT-IG].
Hartke Expires March 17, 2016 [Page 3]
Internet-Draft CoRE Lighting September 2015
2. Introduction
CoRE Lighting is an application-level protocol for discovering,
configuring and controlling smart objects (or "things") in a simple
lighting scenario. The protocol is based on CoAP [RFC7252] transfer
of representations that are formatted according to media types
defined in this document.
2.1. Terminology
This document uses the following terms:
Thing: In the context of the Internet of Things, a "thing" is an
Internet-connected, physical device that is placed at the boundary
between the physical world and the virtual world.
Actuator: An Actuator is a Thing that enables the virtual world to
produce an effect on the physical environment. Examples are
"heating things" that produce a heating effect on the physical
environment, or "light bulb things" that produce an illumination
effect on the physical environment.
Sensor: A Sensor is a Thing that quantifies its physical environment
and exposes the data to the virtual world. Examples are
"temperature things" that measure the temperature of the physical
environment, or "light switch things" that expose the state of a
light switch to the virtual world.
LRC: A Light Remote Control (LRC) is a Thing that can turn a light
bulb on/off, and adjust colors and brightness levels.
CoRE: Constrained RESTful Environments (CoRE) is a vision for the
Internet of Things where Actuators and Sensors communicate with
each other in REST style.
REST: Representational State Transfer (REST) is an architectural
style for building scalable web applications. The key concept is
the hypermedia-driven transfer of resource state representations
between clients and servers.
Resource: A resource is anything that can be identified by a URI.
Representation: A representation is a sequence of bytes that
captures the current or intended state of a resource.
Media Type: A media type is a string that labels a representation so
that it is known how the representation should be interpreted, and
how it is encoded.
Hartke Expires March 17, 2016 [Page 4]
Internet-Draft CoRE Lighting September 2015
Hypermedia Control: A hypermedia control is a construct embedded in
a representation that affords a potential next or future request
from the client to a server. Hypermedia controls range from
simple links to complex forms.
Link: A link provides a means for navigating from one resource to
another. It consists of a context (the link origin), a link
relation type, the target of the link, and optional hints about
the link target.
Form: A form provides a means for changing resource state. It
consists of a context (the subject of the state change), a form
relation type, and instructions for creating a request that
triggers the state change.
Link Relation Type: A link relation type identifies the semantics of
a link.
Form Relation Type: A form relation type identifies the semantics of
a form.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Hartke Expires March 17, 2016 [Page 5]
Internet-Draft CoRE Lighting September 2015
3. Overview
CoRE Lighting follows a Description-Discovery-Configuration-Operation
pattern.
3.1. Description
Things have a Thing Description: a representation of the Thing that
describes its attributes and capabilities. Attributes include basic
human-readable information like name, purpose, location, and owner.
Capabilities include the capability of the Thing to interact with the
physical environment or to be configured to interact with other
Things. Capabilities are exposed as hypermedia controls.
______
__ | |\
/ \__| |_\
\__/ | what |
| who |
| where |
|_______|
Since Thing Descriptions are representations, they can be transferred
to and stored on other devices, for example, a directory that lists
all Things in an area or a spider that builds an index of Things.
Thing Descriptions are formatted according to the 'application/thing-
description+json' Media Type (Section 5.1).
3.2. Discovery
For a start, the discovery of Actuators and Sensors is enabled by a
simple bulletin board-style service: Things are pre-configured out-
of-band with a single entry-point URI to a bulletin board. The
bulletin board provides hypermedia controls to publish the presence
of a new Thing and to discover other Things.
____________
| |
__ | * thing 1 |
/ \ ----------> | * thing 2 |
\__/ <---------- | * thing 3 |
| * ... |
|____________|
Thing Bulletin Board
(Client) (Server)
Hartke Expires March 17, 2016 [Page 6]
Internet-Draft CoRE Lighting September 2015
While the bulletin board is primarily intended to list Things along
with their respective Thing Description, it can in principle be used
to publish representations in any Media Type. The bulletin board
itself is formatted according to the 'application/bulletin-
board+json' Media Type (Section 5.2).
The bulletin board is conceptually very similar to Simple Directory
Discovery [I-D.ietf-core-resource-directory]. The difference is that
a Thing publishes a Thing Description with links rather than links
with link attributes.
3.3. Configuration
Once Things have been discovered and their attributes and
capabilities are known, pairs of light bulbs and Light Remote
Controls (LRCs) can be associated with each other. This is
accomplished by using a configurator device (e.g., a mobile phone)
that configures the light bulb to take the client role and observe
[I-D.ietf-core-observe] a specific resource at the LRC, which takes
the server role.
_________ _...._
| _______ | .' '.
|| || / \
|| || | |
|| || ----------> \ ~~ /
|| || <---------- `\ || /`
|| || |_||_|
||_______|| {____}
| o | {____}
|_________| ()
Configurator Light Bulb
(Client) (Server)
The configuration of a light bulb is represented in the 'application/
lighting-config+json' Media Type (Section 5.3).
3.4. Operation
Once the Things have been configured, the light bulb observes the
specified resource at the LRC and produces an illumination effect on
the physical environment according to the observed LRC state.
The LRC state is represented in the 'application/lighting+json' Media
Type (Section 5.4).
Hartke Expires March 17, 2016 [Page 7]
Internet-Draft CoRE Lighting September 2015
_...._ ___________
.' '. | o | o |
/ \ | /|\ | |
| | |_____|_____|
\ ~~ / ----------> | | |
`\ || /` <---------- | + | - |
|_||_| |_____|_____|
{____} | | |
{____} | < | > |
() |_____|_____|
Light Bulb Remote Control
(Client) (Server)
Hartke Expires March 17, 2016 [Page 8]
Internet-Draft CoRE Lighting September 2015
4. Links and Forms in JSON
The representation formats defined in this document are based on JSON
[RFC7159]. JSON does not support hypermedia controls such as links
and forms. However, representation formats that derive from JSON can
define objects to represent a link or a form, thus extending JSON to
a hypermedia format.
The "hypermediafied" JSON used in this document is inspired by the
JSON Hypertext Application Language (HAL) [I-D.kelly-json-hal]. In
comparison, HAL does not support forms and provides some features
that are omitted here for simplicity, such as templated links and
CURIEs.
This section specifies the JSON objects that are common to all
representation formats defined in this document. In particular, all
of the formats are "hypermediafied" JSON documents: JSON text
[RFC7159] that serializes a Resource Object.
4.1. Resource Objects
A Resource Object is a JSON object that represents a resource. It
has four reserved members:
"_base": string
Specifies a base URI for relative references.
"_links": object
Contains links that reference other resources that are related to
the resource. It is an object whose names are link relation types
(as defined by [RFC5988]) and values are either a Link Object or
an array of Link Objects (Section 4.2).
"_forms": object
Contains forms that describe actions that can be performed on the
resource. It is an object whose names are form relation types (as
defined by [I-D.hartke-core-apps]) and values are either a Form
Object or an array of Form Objects (Section 4.3).
"_embedded": object
Contains embedded resources. It is an object whose names are link
relation types (as defined by [RFC5988]) and values are either a
Resource Object or an array of Resource Objects (Section 4.1).
All other name/value pairs represent the current or intended state of
the resource.
Hartke Expires March 17, 2016 [Page 9]
Internet-Draft CoRE Lighting September 2015
4.2. Link Objects
A Link Object is a JSON object that represents a link from the
containing resource to a target resource. It has the following
members:
"href": string
Conveys the link target URI as a URI-Reference [RFC3986]. If the
URI-Reference is relative, parsers MUST resolve it as per
[RFC3986], Section 5.
"type": string
Provides a hint indicating what the media type of the result of
dereferencing the link should be.
4.3. Form Objects
A Form Object is a JSON object that represents a form which can be
used to perform an action on the containing resource. The action is
performed by issuing a request according to the following members:
"href": string
Conveys the form target URI as a URI-Reference [RFC3986]. If the
URI-Reference is relative, parsers MUST resolve it as per
[RFC3986], Section 5.
"method": string
Specifies the method to use for form submission ("POST", "PUT",
"PATCH" or "DELETE").
"accept": string
Specifies the media type acceptable for the representation to be
enclosed in the request message payload as part of form
submission.
Hartke Expires March 17, 2016 [Page 10]
Internet-Draft CoRE Lighting September 2015
5. Application Description
Application name:
CoRE Lighting 1.0
URI schemes:
coap [RFC7252]
Media types:
application/thing-description+json (Section 5.1)
application/bulletin-board+json (Section 5.2)
application/lighting-config+json (Section 5.3)
application/lighting+json (Section 5.4)
Link relations:
about [RFC6903]
config (Section 5.5)
item [RFC6573]
Form relations:
create-item [I-D.hartke-core-apps]
update [I-D.hartke-core-apps]
Well-known locations:
None.
Interoperability considerations:
See Section 6.
Security considerations:
See Section 7.
Contact:
See "Author's Address" section.
Author/Change controller:
IESG
Hartke Expires March 17, 2016 [Page 11]
Internet-Draft CoRE Lighting September 2015
5.1. The 'application/thing-description+json' Media Type
A representation in the 'application/thing-description+json' Media
Type serializes a Thing Description Object. A Thing Description
Object is a Resource Object that conveys the attributes and
capabilities of a Thing. It has the following members:
"name": string
The name of the Thing.
"purpose": string
The purpose of the Thing.
"location": string
The physical location of the Thing.
All three members are intended to be human-readable and have no
meaning from a Thing's point of view.
5.1.1. Examples
Example Thing Description of a light bulb:
{
"_links": {
"config": {
"href": "/config",
"type": "application/lighting-config+json"
}
},
"name": "Light 2",
"purpose": "Illuminates the couch.",
"location": "Living Room"
}
This light bulb has the name "Light 2" and is described to illuminate
the couch in the living room. The description links to an associated
"config" resource that provides the current configuration of the
light bulb in the 'application/lighting-config+json' Media Type.
Example Thing Description of a Light Remote Control (LRC):
{
"_links": {
"about": {
"href": "/state",
"type": "application/lighting+json"
}
Hartke Expires March 17, 2016 [Page 12]
Internet-Draft CoRE Lighting September 2015
},
"name": "LRC 1",
"purpose": "Controls Light 2.",
"location": "Living Room"
}
This LRC has the name "LRC 1" and is described to control the light
bulb "Light 2" in the living room. The description links to a
resource that the Thing Description is about, namely a resource that
provides the current state of the LRC.
[TODO: Is there a better link relation type for this link?]
5.2. The 'application/bulletin-board+json' Media Type
A representation in the 'application/bulletin-board+json' Media Type
serializes a Bulletin Board Object. A Bulletin Board Object is a
Resource Object that is a collection of embedded Thing Description
Objects. It has no further members.
5.2.1. Example
Example bulletin board with two embedded Thing Descriptions:
{
"_forms": {
"create-item": {
"href": "/bulletins",
"method": "POST",
"accept": "application/thing-description+json"
}
},
"_embedded": {
"item": [
{
"_base": "coap://light-bulb.example/",
"_links": {
"config": {
"href": "/config",
"type": "application/lighting-config+json"
}
},
"name": "Light 2",
"purpose": "Illuminates the couch.",
"location": "Living Room"
}, {
"_base": "coap://remote-control.example/",
"_links": {
Hartke Expires March 17, 2016 [Page 13]
Internet-Draft CoRE Lighting September 2015
"about": {
"href": "/state",
"type": "application/lighting+json"
}
},
"name": "LRC 1",
"purpose": "Controls Light 2.",
"location": "Living Room"
}
]
}
}
This bulletin board provides a "create-item" form which can be used
to publish new Thing Descriptions. It also has two embedded Thing
Descriptions, to which it links using the "item" link relation type.
Both Thing Descriptions link back to the respective Thing.
5.3. The 'application/lighting-config+json' Media Type
A representation in the 'application/lighting-config+json' media type
serializes a Lighting Configuration Object. A Lighting Configuration
Object is a Resource Object that represents the current or intended
configuration of a light bulb. It has the following members:
"src": object/null
A Link Object (Section 4.2) linking to the resource to observe.
Dereferencing the target URI SHOULD result in a representation in
the 'application/lighting+json' Media Type (Section 5.4).
[TODO: Should the supported media type(s) be included in the Thing
Description?]
5.3.1. Example
Example configuration of a light bulb:
{
"_forms": {
"update": {
"href": "",
"method": "PUT",
"accept": "application/lighting-config+json"
}
},
"src": {
"href": "coap://remote-control.example/state"
}
Hartke Expires March 17, 2016 [Page 14]
Internet-Draft CoRE Lighting September 2015
}
This configuration indicates that the light bulb should observe the
resource <coap://remote-control.example/state>. The representation
also includes a form that can be used to update the configuration.
To update the configuration, the form instructs the client to make a
PUT request with a 'application/lighting-config+json' representation
to the relative URI "" (i.e., the empty string which resolves to the
base URI as per [RFC3986], Section 5).
5.4. The 'application/lighting+json' Media Type
A representation in the 'application/lighting+json' media type
serializes a Lighting Object. A Lighting Object is a Resource Object
that represents the current or intended state of a light bulb. It
has the following members:
"on": true/false
true if the light is on; otherwise, false.
"brightness": number
The brightness, expressed as a value between 0.0 (minimum
brightness) and 1.0 (maximum brightness). Note that a value of
0.0 does not mean that the light is off.
"hue": number
The hue, expressed as a value between 0 and 360.
"saturation": number
The saturation, expressed as a value between 0.0 (least saturated)
and 1.0 (most saturated).
"x": number
The X coordinate of a color in CIE color space, expressed as a
value between 0.0 and 1.0.
"y": number
The Y coordinate of a color in CIE color space, expressed as a
value between 0.0 and 1.0.
"colorTemperature": number
The color temperature in mired.
"colorMode": string
The color mode. Possible values are:
"hs" - "hue" and "saturation" are used to set the color.
Hartke Expires March 17, 2016 [Page 15]
Internet-Draft CoRE Lighting September 2015
"xy" - "x" and "y" are used to set the color.
"ct" - "colorTemperature" is used to set the color.
The "colorMode" member determines the color mode used. For example,
when the color mode is set to "ct", the light bulb reflects the color
specified by "colorTemperature" member, and the other members ("hue",
"saturation", "x", and "y") are ignored.
If a light bulb receives a value that is outside of the achievable
range, the light bulb SHOULD choose the closest value it can produce.
5.4.1. Example
Example representation:
{
"on": true,
"brightness": 0.5,
"hue": 210,
"saturation": 0.9,
"x": 0.4448,
"y": 0.4066,
"colorTemperature": 343,
"colorMode": "ct"
}
5.5. The 'config' Link Relation Type
The "config" link relation can be used to refer to a resource
describing the configuration of the link's context.
For example, if the context resource is a Thing, the "config" link
can be used to reference the URI of the Thing's configuration:
{
"_links": {
"config": { "href": "/config" }
}
}
Hartke Expires March 17, 2016 [Page 16]
Internet-Draft CoRE Lighting September 2015
6. Interoperability Considerations
[TODO.]
7. Security Considerations
[TODO.]
8. IANA Considerations
[TODO: The media types defined in Section 5 need to be registered.]
8.1. Link Relation Types
o Relation Name: config
Description: Refers to a resource that can be used to configure
the link's context.
Reference: [RFCXXXX]
8.2. CoAP Content Formats
o Media Type: application/thing-description+json
Encoding: -
ID: 65200
Reference: [RFCXXXX]
o Media Type: application/bulletin-board+json
Encoding: -
ID: 65201
Reference: [RFCXXXX]
o Media Type: application/lighting-config+json
Encoding: -
ID: 65202
Reference: [RFCXXXX]
o Media Type: application/lighting+json
Encoding: -
ID: 65203
Reference: [RFCXXXX]
Note: The IDs are from the 'Experimental Use' range for the purpose
of interoperability testing. They are not for operational use.
Hartke Expires March 17, 2016 [Page 17]
Internet-Draft CoRE Lighting September 2015
9. References
9.1. Normative References
[I-D.hartke-core-apps]
Hartke, K., "CoRE Application Descriptions", draft-hartke-
core-apps-02 (work in progress), August 2015.
[I-D.ietf-core-observe]
Hartke, K., "Observing Resources in CoAP", draft-ietf-
core-observe-16 (work in progress), December 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, DOI 10.17487/RFC3986, January 2005,
<http://www.rfc-editor.org/info/rfc3986>.
[RFC5988] Nottingham, M., "Web Linking", RFC 5988,
DOI 10.17487/RFC5988, October 2010,
<http://www.rfc-editor.org/info/rfc5988>.
[RFC6573] Amundsen, M., "The Item and Collection Link Relations",
RFC 6573, DOI 10.17487/RFC6573, April 2012,
<http://www.rfc-editor.org/info/rfc6573>.
[RFC6903] Snell, J., "Additional Link Relation Types", RFC 6903,
DOI 10.17487/RFC6903, March 2013,
<http://www.rfc-editor.org/info/rfc6903>.
[RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March
2014, <http://www.rfc-editor.org/info/rfc7159>.
[RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
Application Protocol (CoAP)", RFC 7252,
DOI 10.17487/RFC7252, June 2014,
<http://www.rfc-editor.org/info/rfc7252>.
9.2. Informative References
Hartke Expires March 17, 2016 [Page 18]
Internet-Draft CoRE Lighting September 2015
[I-D.ietf-core-resource-directory]
Shelby, Z., Koster, M., Bormann, C., and P. Stok, "CoRE
Resource Directory", draft-ietf-core-resource-directory-04
(work in progress), July 2015.
[I-D.kelly-json-hal]
Kelly, M., "JSON Hypertext Application Language", draft-
kelly-json-hal-07 (work in progress), July 2015.
[RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object
Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049,
October 2013, <http://www.rfc-editor.org/info/rfc7049>.
[WOT-IG] W3C, "Web of Things Interest Group Charter", January 2015,
<http://www.w3.org/2014/12/wot-ig-charter.html>.
Hartke Expires March 17, 2016 [Page 19]
Internet-Draft CoRE Lighting September 2015
Acknowledgements
Thanks to Carsten Bormann, Stefanie Gerdes, Michael Koster, Matthias
Kovatsch, and Peter van der Stok for helpful comments and discussions
that have shaped the document.
Author's Address
Klaus Hartke
Universitaet Bremen TZI
Postfach 330440
Bremen D-28359
Germany
Phone: +49-421-218-63905
EMail: hartke@tzi.org
Hartke Expires March 17, 2016 [Page 20]