Schedule Signals and Streams Version 1.0

Committee Specification Draft 01 /
Public Review Draft 01

30 November 2012

Specification URIs

This version:

http://docs.oasis-open.org/ws-calendar/streams/v1.0/csprd01/streams-v1.0-csprd01.pdf (Authoritative)

http://docs.oasis-open.org/ws-calendar/streams/v1.0/csprd01/streams-v1.0-csprd01.html

http://docs.oasis-open.org/ws-calendar/streams/v1.0/csprd01/streams-v1.0-csprd01.doc

Previous version:

N/A

Latest version:

http://docs.oasis-open.org/ws-calendar/streams/v1.0/streams-v1.0.pdf (Authoritative)

http://docs.oasis-open.org/ws-calendar/streams/v1.0/streams-v1.0.html

http://docs.oasis-open.org/ws-calendar/streams/v1.0/streams-v1.0.doc

Technical Committee:

OASIS Web Services Calendar (WS-Calendar) TC

Chair:

Toby Considine (toby.considine@unc.edu), University of North Carolina at Chapel Hill

Editor:

Toby Considine (toby.considine@unc.edu), University of North Carolina at Chapel Hill

Additional artifacts:

This prose specification is one component of a Work Product which also includes:

·         XML schemas: http://docs.oasis-open.org/ws-calendar/streams/v1.0/csprd01/xsd/

Related work:

This specification is related to:

·         WS-Calendar Version 1.0. Latest version.
http://docs.oasis-open.org/ws-calendar/ws-calendar/v1.0/ws-calendar-1.0-spec.html

Abstract:

There is a common need to communicate information linked to repetitive intervals of time, for history, for telemetry, for projections, for bids. Much of the information in each interval can be inferred from the surrounding intervals. The document defines a normative structure for conveying time-series of information that is conformant with WS-Calendar. We term these conveyances “Streams”.

Status:

This document was last revised or approved by the OASIS Web Services Calendar (WS-Calendar) TC on the above date. The level of approval is also listed above. Check the “Latest version” location noted above for possible later revisions of this document.

Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at http://www.oasis-open.org/committees/ws-calendar/.

For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (http://www.oasis-open.org/committees/ws-calendar/ipr.php).

Citation format:

When referencing this specification the following citation format should be used:

[streams-v1.0]

Schedule Signals and Streams Version 1.0. 30 November 2012. OASIS Committee Specification Draft 01 / Public Review Draft 01. http://docs.oasis-open.org/ws-calendar/streams/v1.0/csprd01/streams-v1.0-csprd01.html.

 

Notices

Copyright © OASIS Open 2013. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.

OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.

OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.

The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/policies-guidelines/trademark for above guidance.

 

Table of Contents

1        Introduction. 5

1.1 Terminology. 5

1.2 Normative References. 5

1.3 Non-Normative References. 6

1.4 Namespace. 6

1.5 Naming Conventions. 6

<element name="componentType" type="strm:ComponentType"/>. 6

<complexType name="ComponentServiceType">. 6

1.6 Editing Conventions. 7

2        WS-Calendar in Streams. 8

2.1 Schedule Semantics from WS-Calendar (Non-Normative) 8

2.2 Schedules and Inheritance. 9

3        Streams. 11

3.1.1 UML Diagram of Stream.. 12

3.1.2 Conformance of Streams to WS-Calendar 12

3.1.2.1 Stream expression of Intervals expressed as Durations. 12

3.1.2.2 Observational Data expressed as Streams. 13

3.1.3 Payload Optimization in Streams. 13

3.1.4 Other elements in Stream Payloads. 13

4        Conformance. 15

4.1 Conformance with the Semantic Models of WS-Calendar 15

4.1.1 Recapitulation of Requirements from WS-Calendar 15

4.1.1.1 Specific Attribute Inheritance within Schedules. 15

4.1.1.2 Time Zone Specification. 16

4.1.1.3 Specific Rules for Optimizing Inheritance. 16

Appendix A.       Acknowledgments. 17

Appendix B.       Revision History. 18

 

 


1      Introduction

[All text is normative unless otherwise labeled]

There is a common need to communicate information tied to a repetitive intervals of time, for history, for telemetry, for projections, for bids. Such communications will benefit from a common model for conveying these series of information.

The iCalendar model is almost infinitely malleable in the number and manner of intervals in time that it can communicate. Separate intervals exist as separate calendar information objects; a single communication can include any number of these objects. This model is verbose in that each of these calendar information objects must include all distinct information.

The WS-Calendar model adds to the underlying iCalendar model the notion of inheritance. Using inheritance, one or many of the calendar information objects can be “completed” by applying the inherited information to the information conveyed within the object. WS-Calendar specifies rules for how this inheritance is applied, and how to handle instances wherein the inherited information collides with information inside the calendar information object.

WS-Calendar also defines the Sequence, in which a set of temporally related calendar information objects, known as Intervals, are handled as a single entity. The special purpose Sequence, the Partition deals with the special case wherein substantially all of the Intervals are of the same Duration. Sequences rely on Inheritance to convey the repetitive information in each interval of a Sequence.

[WS-Calendar] is a general specification and makes no assumptions about how its information model is used. [WS-Calendar] has specific rules which define Inheritance as a means to reduce the conveyance of repetitive information. As this specification constrains schedule communications to specific business interactions, these inheritance rules are extended to embrace rules of interaction and rules of process that further reduce the information that must be expressed in each interval.

Even so, WS-Calendar does not define a normative structure for the information conveyed. WS-Calendar is primarily an information model, and information models can be conveyed in a number of ways. High speed transaction processing requires more predictable means to convey structured information concerning time. Even legal and conformant conveyances of calendar information may fail to meet the requirements for basic interoperability requirements [WSI-Basic].

The document defines a normative structure for conveying time-series of information that is conformant with WS-Calendar. We term these conveyances “Streams”.

1.1 Terminology

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 Error! Reference source not found..

1.2 Normative References

ISO8601                 ISO (International Organization for Standardization). Representations of dates and times, third edition, December 2004, (ISO 8601:2004)

RFC2119                 S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997.

RFC5545                 B. Desruisseaux Internet Calendaring and Scheduling Core Object Specification (iCalendar), http://www.ietf.org/rfc/rfc5545.txt, IETF RFC5545, proposed standard, September 2009

SOA-RM                 SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented Architecture 1.0, October 2006 http://docs.oasis-open.org/soa-rm/v1.0/

WS-Calendar          WS-Calendar OASIS Committee Specification 1.0, WS-Calendar, July 2011, http://docs.oasis-open.org/ws-calendar/ws-calendar-spec/v1.0/cs01/ws-calendar-spec-v1.0-cs01.pdf

xCal                       C. Daboo, M Douglass, S Lees xCal: The XML format for iCalendar, http://tools.ietf.org/html/draft-daboo-et-al-icalendar-in-xml-08, IETF Internet-Draft, April 2011.

XML NAMES          T Bray, D Hollander, A Layman, R Tobin, HS Thompson “Namespaces in XML 1.0 (Third Edition)“ http://www.w3.org/TR/xml-names/ W3C Recommendation, December 2009

XML SCHEMA        PV Biron, A Malhotra, XML Schema Part 2: Datatypes Second Edition, http://www.w3.org/TR/xmlschema-2/ October 2004.

XRD                       OASIS XRI Committee Draft 01, Extensible Resource Descriptor (XRD) Version 1.0, http://docs.oasis-open.org/xri/xrd/v1.0/cd01/xrd-1.0-cd01.pdf October 2009.

1.3 Non-Normative References

[WSI-Basic]            R Chumbley, J Durand, G Pilz, T Rutt , Basic Profile Version 2.0,
http://ws-i.org/profiles/BasicProfile-2.0-2010-11-09.html,
The Web Services-Interoperability Organization, November 2010

1.4 Namespace

The XML namespace [XML-ns] URI that MUST be used by implementations of this specification is:

http://docs.oasis-open.org/ns/energyinterop

Dereferencing the above URI will produce the Resource Directory Description Language [RDDL 2.0] document that describes this namespace.

Table 1 lists the XML namespaces that are used in this specification. The choice of any namespace prefix is arbitrary and not semantically significant.

Table 1‑1: Namespaces Used in this Specification

Prefix

Namespace

xs

http://www.w3.org/2001/XMLSchema

strm

urn:ietf:params:xml:ns:icalendar-2.0:stream

wsdl

http://docs.oasis-open.org/ns/energyinterop/201110/wsdl

The normative schemas for STREAMS can be found linked from the namespace document that is located at the namespace URI specified above.

1.5 Naming Conventions

This specification follows some naming conventions for artifacts defined by the specification, as follows:

For the names of elements and the names of attributes within XSD files, the names follow the lowerCamelCase convention, with all names starting with a lower case letter. For example,

<element name="componentType" type="strm:ComponentType"/>

For the names of types within XSD files, the names follow the UpperCamelCase convention with all names starting with a lower case letter prefixed by “type-“. For example,

<complexType name="ComponentServiceType">

For the names of intents, the names follow the lowerCamelCase convention, with all names starting with a lower case letter, EXCEPT for cases where the intent represents an established acronym, in which case the entire name is in upper case.

An example of an intent that is an acronym is the "SOAP" intent.

1.6 Editing Conventions

For readability, element names in tables appear as separate words. The actual names are lowerCamelCase, as specified above, and as they appear in the XML schemas.

All elements in the tables not marked as “optional” are mandatory.

Information in the “Specification” column of the tables is normative. Information appearing in the note column is explanatory and non-normative.

All sections explicitly noted as examples are informational and are not to be considered normative.

2      WS-Calendar in Streams

[WS-Calendar] defines how to use the semantics of the enterprise calendar communications within service communications. Streams are conformant with the [WS-Calendar] specification for communicating duration and time to define a Schedule. [WS-Calendar] itself extends the well-known semantics of [RFC5545]. The communication of a commonly understood Schedule is essential to Energy Interoperation.

This entire section ii informative, to assist the reader in understanding later sections.

2.1 Schedule Semantics from WS-Calendar (Non-Normative)

Without an understanding of certain terms defined in [WS-Calendar], the reader may have difficulty achieving complete understanding of their use in this standard. The table below provides summary descriptions of certain key terms from that specification. This specification does not redefine these terms; they are listed here solely as a convenience to the reader.

Table 2‑1: Core Semantics from WS-Calendar

WS-Calendar Term

Description

Component

In [iCalendar], the primary information structure is a Component, also referred to as a “vcomponent.” A Component is refined by Parameters and can itself contain Components. Several RFCs have extended iCalendar by defining new Components using the common semantics defined in that specification. In the list below, Interval, Gluon, and Availability are Components. Duration, Link, and Relationship are Parameters. A Sequence is set of Components, primarily Intervals and Gluons, but is not itself a Type.

Duration

Duration is the length of time for an event scheduled using iCalendar or any of its derivatives. The [XCAL] duration is a data type using the string representation defined in the iCalendar ([RFC5545]) Duration.

Interval

The Interval is a single discrete segment, an element of a Sequence, and expressed with a Duration. The Interval is derived from the common calendar Components. An Interval is part of a Sequence.

Sequence

A set of Intervals with defined temporal relationships. Sequences may have gaps between Intervals, or even simultaneous activities. A Sequence is re-locatable, i.e., it does not have a specific date and time. A Sequence may consist of a single Interval, and can be scheduled by scheduling that single Interval in that Sequence.

Gluon

A Gluon influences the serialization of Intervals in a Sequence, through inheritance and through schedule setting. The Gluon is similar to the Interval, but has no service or schedule effects until applied to an Interval or Sequence.

Artifact

The placeholder in an Component that holds that thing that occurs during an Interval. [EMIX Product Descriptions populate Schedules as Artifacts inside Intervals. In Streams, this specification refers to the Payload conveyed by an Interval.

Link

A reference to an internal object within the same calendar, or an external object in a remote system. The Link is used by one [WS-Calendar] Component to reference another.

Relationship

Links between Components.

Availability

Availability in this specification refers to the Vavailability Component, itself a collection of recurring Availability parameters each of which expresses set of Availability Windows. In this specification, these Windows may indicate when an Interval or Sequence can be Scheduled, or when a partner can be notified, or even when it cannot be Scheduled.

Normative descriptions of the terms in the table above are in [WS-Calendar].

2.2 Schedules and Inheritance

Nearly every response, every event, and every interaction can have payloads with values that vary over time, i.e., it a set of intervals can be using a Sequence of Intervals. Many market communications involve information about or a request for power delivered over a single interval of time. Simplicity and parsimony of expression must coexist with complexity and syntactical richness.

Consider a request to reduce power consumption in response to market conditions on a smart grid (Demand Response). The simplest demand response is to reduce power for a set interval.

Figure 2‑1: Basic Power Object from EMIX

At its simplest, though, WS-Calendar expresses repeating intervals of the same duration, one after the other, and something that changes over the course of the schedule

Figure 2‑2: WS-Calendar Partition, a simple sequence of 5 intervals

The WS-Calendar specification defines how to spread an object like the first over the schedule. The information that is true for every interval is expressed once only. The information that changes during each interval, is expressed as part of each interval.*

*

Figure 2‑3: Applying Basic Power to a Sequence

Many communications communicate requirements for a single interval. When expressing market information about a single interval, the market object (Power) and the single interval collapse to a simple model:

Figure 2‑4: Simplifying back to Power in a Single Interval

WS-Calendar calls this pattern Inheritance and specifies a number of rules that govern Inheritance. Table 2‑2 summarizes those terms defined in WS-Calendar to describe Inheritance that are used in this specification as well. This specification does not redefine these terms; they are listed here solely as a convenience to the reader.

Table 2‑2: WS-Calendar Semantics: Inheritance

Term

Definition

Lineage

The ordered set of Parents that results in a given inheritance or execution context for a Sequence.

Inherit

A Child Inherits attributes (Inheritance) from its Parent.

Inheritance

A pattern by which information in Sequence is completed or modified by information from a Gluon. Information specified in one informational object is considered present in another that is itself lacking expression of that information.

Bequeath

A Parent Bequeaths attributes (Inheritance) to its Children.

This specification extends the use of Inheritance as defined in WS-Calendar. Most interactions specify a schedule, whether for price Quote or for Demand Response event. These schedules are expressed in Streams (see Section 3). Each Interval in the Schedule contains an information payload. Each of these payloads is completed through inheriting information from the Stream as if from a Gluon. The Stream itself inherits information from the context of the interaction, especially from the Market Context, as if from Gluon.

A higher-level object Bequeaths essential information to a Stream, which in turn its information to each Interval in the Stream. This specification uses this pattern of expression throughout.

3      Streams

Streams use WS-Calendar Sequences to convey a time sequence of prices, usage, demand, response, or anything else that varies over time. Streams are used both for projections of the future and for reports about the past; event signals and reports are each instances of Streams.

WS-Calendar specifies that Sequences that describe a Service be expressed as Duration within each Interval, Temporal Relations between those intervals, and a single Start or End time for the Sequence. WS-Calendar specifies that each Interval have a unique identifier (UID). WS-Calendar further specifies that each Interval include a Temporal Relation, either direct or transitive, with all other Intervals in a Sequence. A Temporal Relation consists of the Relationship, the UID of the related Interval, and the optional Gap between Intervals.

[WS-Calendar] defines a Partition as a Sequence of consecutive Intervals.

All Streams follow the Gluon-Sequence pattern from WS-Calendar, i.e., the Stream acts a Gluon that optionally contains a degenerate Sequence. Information valid for the entire stream is indicated in the Gluon, i.e., external to the Intervals of the Sequence. Only information that changes over time is contained within each interval. This changing information is referred to herein as the Payload.

Figure 3‑1: Stream as Gluon and Sequence

For example, an associated transaction or even a service definition MAY establish a context. The Stream Base MAY inherit information in the Context as an Interval or Gluon inherits information from a Gluon. WS-Calendar calls this the lineage of the information.

Again, following the WS-Calendar inheritance pattern, each Interval in the Sequence inherits from the Lineage described above.

3.1.1 UML Diagram of Stream

Figure 3‑2: UML Class Diagram of abstract StreamBase class

3.1.2 Conformance of Streams to WS-Calendar

If it is necessary to process a Stream through standard Calendar communications, the Stream’s GUID is the key and the Stream is processed as if a Gluon. All Sequence information MAY remain internal to that Gluon. If it is necessary to instantiate Interval in the Sequence as a WS-Calendar Interval, the GUID for each is derived by appending the Sequence ID to the Stream’s GUID.

3.1.2.1 Stream expression of Intervals expressed as Durations

While conformant communications can include anything expressible in [WS-Calendar], this specification further defines standard profiles of Sequences and Intervals for use in Streams.

Streams describe Partitions. Within a Stream expressed using Durations, a virtual UID for each Interval MAY be constructed by concatenating the Stream Identifier, which may include the identity of the source or recipient, and a sequence number. Within a Stream, this UID can be expressed within each interval by the sequence number alone.

If the Designated Interval in a Sequence within a Stream omits a Temporal Relationship, then all Intervals in the Sequence MAY NOT include a Temporal Relation. Such intervals are sorted by increasing sequence number (expressed in the UID), and each Interval is treated as if it contained an implied FinishToStart relation to the next Interval with a Gap of zero Duration.

Partitions expressed in this way consist of Intervals containing only a Sequence Number, the Duration of the Interval (if not inherited), and the Market Signal Payload. The effect of this is that Stream Intervals are ordered as a Partition in order of increasing UID.

WS-Calendar inheritance defines a Lineage whereby Intervals inherit information from Gluons. In Energy Interoperation, Streams are contained in larger messages. A Stream MAY inherit information from its containing message as if from a Gluon. A Stream-derived Type may contain information external to the Sequence. This information inherits acts as if it were a Gluon, inheriting from the containing message, and Bequeathing information to the designated interval in the Sequence.

The first (in time and in sequence number) Interval in the Sequence in a Stream is the Designated Interval unless another Interval is explicitly so designated in the Stream Event. Signals, Reports, and many other messages use this pattern of expression. For example, the Active Period of an Event Bequeaths its start date and time to an Event Signal which Bequeaths that to the Designated Interval in the sequence. These terms are defined below.

3.1.2.2 Observational Data expressed as Streams

Observed information may be best communicated as raw data without interpretation. A single set of Observations may be re-purposed or re-processed for multiple uses. For example, a measurement recorded at 3:15 may be a point in both a 5 minute series and a 15 minute series. Observational data may have known errors that can be lost in processing. Low-end sensor systems may not update instantly. For example, a reading taken at 4:30 may be known to actually have been recorded at 4:27. Streams expressing a series of observations MAY use the date and times rather than the duration as their primary temporal element.

When the boundaries of Intervals in a Stream are expressed with Date and Time, then all Intervals in that Sequence SHALL be expressed with a Date and Time and that boundary selected SHALL be the Same, i.e., all Intervals MAY be expressed with a Begin Date and Time OR with an End Date and Time. For observations, use the End Date and Time.

Within a Stream expressed using Dates and Times, a virtual UID for each Interval MAY be constructed by concatenating the Signal Identifier, the and a unique ID (which may be the service ID), and the Date and Time. Within an Observational Stream, this UID can be expressed within each interval by the End Date and Time alone. Intervals in a Sequence expressed this way are treated as if each contains an implied FinishToStart relation to the next Interval with a Gap of zero duration. The Duration of each Interval can be computed by using the Date(s) and Time(s) of adjacent Intervals.

3.1.3 Payload Optimization in Streams

As defined in WS-Calendar, each Interval in a Sequence potentially contains any artifact that inherits/extends the WS-Calendar artifact as a payload. As used in Streams, the this Artifact is expressed once or inherited from the service Context. Each Interval in a Stream expresses only the common subset of facts that varies within the context of the Stream. For efficient communication and processing, Streams use these explicit processing rules:

  1. Unless each interval includes a full payload, each Interval in a Stream expresses only the defined subset of the payload that varies over time.
  2. Each Interval in a Stream uses the same payload subset as all other intervals in that stream.

All streams in this specification share a common Payload base. This commonality is derived from the commonality of a request for performance (Signal), a report of performance (Report and Delivery), projections of performance (Projection), and a baseline of performance (Baseline).

3.1.4 Other elements in Stream Payloads

It may be necessary to qualify information about intervals in the future.

It may be necessary to qualify measurements delivered in a report. Devices have known accuracies. Several Measurements MAY be added together to create a single quantity. To support these uncertainties different payloads are defined for different services.

WS-Calendar does not limit the Payload, but only indicates that the payload be derived from the Payload Base.

4      Conformance

The last numbered section in the specification must be the Conformance section. Conformance Statements/Clauses go here. [Remove # marker]

4.1 Conformance with the Semantic Models of WS-Calendar

This section specifies conformance with the semantic models of [WS-Calendar]. Streams are strongly dependent upon the [WS-Calendar] information model.

[WS-Calendar] is a general specification and makes no assumptions about how its information model is used. [WS-Calendar] has specific rules which define Inheritance as a means to reduce the conveyance of repetitive information. As this specification constrains schedule communications to specific business interactions, these inheritance rules are extended to embrace rules of interaction and rules of process that further reduce the information that must be expressed in each interval.

Implementations of Streams SHALL conform to the rules of [WS-Calendar]. These rules include the following conformance types:

4.1.1 Recapitulation of Requirements from WS-Calendar

[WS-Calendar] uses the term Sequence to refer to one or more Intervals with Temporal Relations defined between them that may inherit from zero or more Gluons. Streams recapitulate these rules with specific addenda as they include both Gluon and Sequence.

4.1.1.1 Specific Attribute Inheritance within Schedules

The rules that define inheritance, including direction in [WS-Calendar], are recapitulated.

I1: Proximity Rule Within a given lineage, inheritance is evaluated though each Parent to the Child before what the Child bequeaths is evaluated.

I2: Direction Rule Intervals MAY inherit attributes from the nearest Gluon subject to the Proximity Rule and Override Rule, provided those attributes are defined as Inheritable.

I3: Override Rule If and only if there is no value for a given attribute of a Gluon or Interval, that Gluon or Interval SHALL inherit the value for that attribute from its nearest Ancestor in conformance to the Proximity Rule.

I4: Comparison Rule Two Sequences are equivalent if a comparison of the respective Intervals succeeds as if each Sequence were fully Bound and redundant Gluons are removed.

I5: Designated Interval Inheritance [To facilitate composition of Sequences] the Designated Interval in the ultimate Ancestor of a Gluon is the Designated Interval of the composed Sequence. Special conformance rules for Designated Intervals apply only to the Interval linked from the Designator Gluon.

I6: Start Time Inheritance When a start time is specified through inheritance, that start time is inherited only by the Designated Interval; the start time of all other Intervals are computed through the durations and temporal; relationships within the Sequence. The Designated Interval is the Interval whose parent is at the end of the lineage. In Events, the Active Interval is the Designated Interval

4.1.1.2 Time Zone Specification

The time zone MUST be explicitly known in any conforming Energy Interoperation artifact.

This may be accomplished in two ways:

·         The time, date, or date and time MUST be specified using [ISO8601] utc-time (also called zulu time)

·         The [WS-Calendar] Time Zone Identifier, TZID, MUST be in the Lineage of the artifact, as extended by the Market Context. Generally, the Market Context acts as a Gluon bequeathing the TZID. See Section Error! Reference source not found. below.

If neither expression is included, the Artifact does not conform to this specification and its attempted use in information exchanges MUST result in an error condition.

4.1.1.3 Specific Rules for Optimizing Inheritance

If the Designated Interval in a Series has a single element of the Payload only, all Intervals in the Sequence convey that payload element only.

Appendix A. Acknowledgments

The following individuals have participated in the creation of this specification and are gratefully acknowledged:

Participants:

[Participant Name, Affiliation | Individual Member]

[Participant Name, Affiliation | Individual Member]

Streams were originally developed in the OASIS Energy Interoperation. We are grateful for their contribution to WS-Calendar.

Appendix B. Revision History

 

Revision

Date

Editor

Changes Made

WD01

8-November-2012

Toby Considine

Initial Draft