Top Banner
streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 1 of 22 Schedule Signals and Streams Version 1.0 Working Draft 0411 20 May 2013 2 June 2016 Technical Committee: OASIS Web Services Calendar (WS-Calendar) TC Chair: Toby Considine ([email protected]), University of North Carolina at Chapel Hill Editor: Toby Considine ([email protected]), University of North Carolina at Chapel Hill William T. Cox ([email protected]), Individual Additional artifacts: This prose specification is one component of a Work Product which also includes: (publish with reference to http://docs.oasis-open.org/ws- calendar/streams/v1.0/xxx/xsd/iCalendar-streams-v1.0-lastestversionXML schemas: (list file names or directory name) Other parts (list titles and/or file names) .xsd) Related work: This specification is related to: WS-Calendar OASIS Committee Specification 1.0, Platform Independent Model (PIM) Version 1.0. Edited by W.T. Cox and Toby Considine, latest version: http://docs.oasis- open.org/ws-calendar/ws-calendar-pim/v1.0/ws-calendar-pim-v1.0.pdf WS-Calendar Version 1.0, July 2011, . Edited by Toby Considine and Mike Douglass. Latest version. http://docs.oasis-open.org/ws-calendar/ws-calendar/v1.0/ws-calendar-1.0-spec.pdf WS-Calendar MIN (See new spec now also in PR) Declared XML namespaces: http://docs.oasis-open.org/ws-calendar/ns/streams/201606 http://docs.oasis-open.org/ws-calendar/ns/streams 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.the WS-Calendar Platform Independent Model (PIM). Specifications that conform to the WS-Calendar PIM can be transformed into each other and into the WS-Calendar 1.0 model. We term these conveyances “Streams”. Status: This Working Draft (WD) has been produced by one or more TC Members; it has not yet been voted on by the TC or approved as a Committee Draft (Committee Specification Draft or a Committee Note Draft). The OASIS document Approval Process begins officially with a TC vote to approve a WD as a Committee Draft. A TC may approve a Working Draft, revise it, and re- approve it any number of times as a Committee Draft. Copyright © OASIS Open 2012-20132016. 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.
22

Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

May 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 1 of 22

Schedule Signals and Streams Version 1.0

Working Draft 0411

20 May 2013

2 June 2016

Technical Committee:

OASIS Web Services Calendar (WS-Calendar) TC

Chair:

Toby Considine ([email protected]), University of North Carolina at Chapel Hill

Editor: Toby Considine ([email protected]), University of North Carolina at Chapel Hill William T. Cox ([email protected]), Individual

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

(publish with reference to http://docs.oasis-open.org/ws-calendar/streams/v1.0/xxx/xsd/iCalendar-streams-v1.0-lastestversionXML schemas: (list file names or directory name)

Other parts (list titles and/or file names) .xsd)

Related work:

This specification is related to:

WS-Calendar OASIS Committee Specification 1.0, Platform Independent Model (PIM) Version 1.0. Edited by W.T. Cox and Toby Considine, latest version: http://docs.oasis-open.org/ws-calendar/ws-calendar-pim/v1.0/ws-calendar-pim-v1.0.pdf

WS-Calendar Version 1.0, July 2011, . Edited by Toby Considine and Mike Douglass. Latest version. http://docs.oasis-open.org/ws-calendar/ws-calendar/v1.0/ws-calendar-1.0-spec.pdf

WS-Calendar MIN (See new spec now also in PR)

Declared XML namespaces:

http://docs.oasis-open.org/ws-calendar/ns/streams/201606

http://docs.oasis-open.org/ws-calendar/ns/streams

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.the WS-Calendar Platform Independent Model (PIM). Specifications that conform to the WS-Calendar PIM can be transformed into each other and into the WS-Calendar 1.0 model. We term these conveyances “Streams”.

Status: This Working Draft (WD) has been produced by one or more TC Members; it has not yet been voted on by the TC or approved as a Committee Draft (Committee Specification Draft or a Committee Note Draft). The OASIS document Approval Process begins officially with a TC vote to approve a WD as a Committee Draft. A TC may approve a Working Draft, revise it, and re-approve it any number of times as a Committee Draft.

Copyright © OASIS Open 2012-20132016. 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.

Page 2: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 2 of 22

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.

Page 3: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 3 of 22

Table of Contents

1 Introduction ........................................................................................................................................... 5

1.1 Terminology ........................................................................................................................................ 6

1.2 Normative References ........................................................................................................................ 6

1.3 Non-Normative References ................................................................................................................ 6

1.4 Namespace ......................................................................................................................................... 7

1.5 Naming Conventions .......................................................................................................................... 8

1.6 Editing Conventions ............................................................................................................................ 8

2 WS-Calendar in Streams ...................................................................................................................... 9

2.1 When: Start, End and Duration ........................................................................................................... 9

2.2 Semantics of Inheritance .................................................................................................................. 11

2.3 Semantics from MIN ......................................................................................................................... 12

3 Streams .............................................................................................................................................. 13

3.1 New Semantic Elements in Streams ................................................................................................ 13

3.2 Intervals and Unique Identifiers ........................................................................................................ 14

3.3 Streams: a Restricted Profile for Sequences and Intervals .............................................................. 15

3.4 Observational Data expressed as Streams ...................................................................................... 16

3.5 Payload Optimization in Streams ..................................................................................................... 17

3.6 Extending Stream Payloads ............................................................................................................. 17

4 Conformance ...................................................................................................................................... 17

4.1 Conformance Points ......................................................................................................................... 18

4.2 Conformance of Streams to WS-Calendar-PIM ............................................................................... 18

4.3 Inheritance within Streams ............................................................................................................... 18

4.4 Stream expression of Intervals expressed as Durations .................................................................. 18

4.5 Conformance for Observational Data ............................................................................................... 20

4.6 Conformance for Stream Payloads and Optimizing Inheritance ...................................................... 20

Appendix A. Acknowledgments ............................................................................................................. 21

Appendix B. Revision History ................................................................................................................ 22

Table of Figures

Figure 3-1: Stream as Gluon-Equivalent and Degenerate Sequence ........................................................ 14

Figure 3-2: Interval, the components of a Sequence .................................................................................. 14

Page 4: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 4 of 22

Table of Tables

Table 1-1: Namespaces Used in this Specification ...................................................................................... 8

Table 3-1: Core Semantics and their derivations from WS-Calendar ......................................................... 13

Page 5: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 5 of 22

1 Introduction 1

All text is normative unless otherwise labeled 2

There is a common need to communicate information linked to repetitive intervals of time, for history, for 3 telemetry, for projections, and for bids. Such communications benefit from a common model for conveying 4 these series of information. 5

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

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

[WS-Calendar] and [WS-Calendar PIM] also definesdefine the Sequence, in which a setsets of 15 temporally time-related calendar information objects, known as Intervals, are handled as a single entity. 16 WS-Calendar defines a special case of the Sequence, the Partition, for the special case wherein 17 substantially all of the Intervals are of the same Duration. Sequences rely on Inheritance to convey the 18 repetitive information in each intervalInterval of a Sequence. 19

[WS-CalendarA key concern for [WS-Calendar] was direct compatibility with [xCal], the XML Format for 20 iCalendar defined in [RFC6321]. While this format is flexible, it can offer too much optionality to be easily 21 analyzed. To this end, the TC developed a Platform Independent Model [WS-Calendar PIM], which 22 supports all the functions and messages from WS-Calendar, while restricting extension so that the 23 models can be analyzed and validated. This approach redefined WS-Calendar as what Model Driven 24 Architecture calls a Platform Specific Model (PSM) that conforms to [WS-Calendar PIM] 25

The Platform Independent Model [WS-Calendar PIM] describes how to make use of the general model 26 and semantics defined in [WS-Calendar] when defining information exchanges subject to specific 27 constraints. Artifacts that are conformant with [WS-Calendar PIM] can be transformed into a form that is 28 conformant to [WS-Calendar], even while their expression may not support the general purpose 29 expression required for [WS-Calendar]. 30

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

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

The Platform Independent Model [WS-Calendar PIM] describes how to make use of the general model 42 and semantics defined in [WS-Calendar] when defining information exchanges subject to specific 43 constraints. Artifacts that are conformant with [WS-Calendar PIM] can be transformed into a form that is 44 conformant to [WS-Calendar], even while their expression may not support the general purpose 45 expression required for [WS-Calendar]. 46

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

Streams specifies a PSM that conforms to [WS-Calendar PIM]. Model driven architecture considers that 49 any PSM conformant to a PIM can be transformed into an expression conformant with any other PSM, 50

Page 6: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 6 of 22

and thus transitively conforms to that other PSM. In this way, Streams is conformant not only with [WS-51 Calendar PIM] but with [WS-Calendar]. 52

1.1 Terminology 53

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD 54 NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described 55 in RFC2119. 56

1.2 Normative References 57

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

MIN WS-Calendar Minimal PIM-Conformant Schema Version 1.0. Edited by Toby 60 Considine and William Cox. 18 December 2015. OASIS Committee Specification 61 Draft 01. December 2015, http://docs.oasis-open.org/ws-calendar/ws-calendar-62 min/v1.0/ws-calendar-min-v1.0.pdf 63

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

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

RFC6321 C. Daboo, M Douglass, S Lees xCal: The XML format for iCalendar, , IETF 69 Proposed Standard, August 2011. 70

SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 71 Architecture 1.0, October 2006 72

WS-Calendar WS-Calendar OASIS Committee Specification, WS-Calendar Version 1.0, 73 July 2011, WS-Calendar PIM WS-Calendar OASIS Committee Working 74 Draft, “WS-Calendar Platform Independent Model (PIM) Version 1.0 WD05”, ”. 75 Edited by William T. Cox and Toby Considine. 21 August, 2015. OASIS 76 Committee Specification 02. http://docs.oasis-open.org/ws-calendar/ws-calendar-77 pim/v1.0/ws-calendar-pim-v1.0.pdf 78

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

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

XRD OASIS XRI Committee Draft 01, Extensible Resource Descriptor (XRD) 84 Version 1.0, October 2009. 85

1.3 Non-Normative References 86

[SOA-RM Reference Model for Service Oriented Architecture 1.0. SOA-RM OASIS 87 Standard, Edited by C. Matthew MacKenzie, Ken Laskey, Francis McCabe, Peter 88 F Brown, Rebekah Metz. 12 October 2006. OASIS Standard. http://docs.oasis-89 open.org/soa-rm/v1.0/soa-rm.pdf 90

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

WS-Calendar WS-Calendar Version 1.0. Edited by Toby Considine and Mike Douglas. 30 July 94 2011. OASIS Committee Specification 01. http://docs.oasis-open.org/ws-95 calendar/ws-calendar/v1.0/ws-calendar-1.0-spec.pdf 96

RFC6321 C. Daboo, M Douglass, S Lees xCal: The XML format for iCalendar, 97 http://tools.ietf.org/html/rfc6321, IETF Proposed Standard, August 2011. 98

Page 7: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 7 of 22

1.4 Namespace 99

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

http://docs.oasis-open.org/ws-calendar/ns/streams/201602 101

Dereferencing the above URI will produce the Resource Directory Description Language []HTML 102 document that describes this namespace. 103

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

106

Page 8: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 8 of 22

Table 1-1: Namespaces Used in this Specification 107

Prefix Namespace

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

xcalmin http://docs.oasis-open.org/ws-calendar/ns/min-

xcal/2015/12urn:ietf:params:xml:ns:icalendar-2.0

strm http://docs.oasis-open.org/ws-calendar/ns/streams/201606 http://docs.oasis-

open.org/ws-calendar/ns/streams

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

1.5 Naming Conventions 110

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

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

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

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

<complexType name="ComponentServiceType"> 117

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

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

1.6 Editing Conventions 122

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

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

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

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

Page 9: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 9 of 22

2 WS-Calendar in Streams 129

[WS-Calendar] defines how to use the semantics of the enterprise calendar communications within 130 service communications. [WS-Calendar PIM] defines how conformance to [WS-Calendar] is to be 131

achieved on platforms that cannot themselves interact directly with traditional calendar servers. 132

Without an understanding of certain terms and conventions based in [WS-Calendar PIM], the reader may 133 have difficulty achieving complete understanding of their use in this standard. [WS-Calendar PIM] 134 defines a Platform Independent Model and re-defined [WS-Calendar] as a semantically richer and more 135 variable conformant Platform Specific Model (PSM). The terms PIM and PSM are used as defined in 136 model driven architecture. 137

Streams are a Platform Specific Model conformant with the [WS-Calendar PIM], the platform 138 independent model (PIM) for [WS-Calendar]. Through conformance with the PIM, Streams are 139 conformant with [WS-Calendar] specification for communicating duration and time to define a Schedule. 140 [WS-Calendar] itself extends the well-known semantics of [RFC5545]. 141

In particular, the reader should take care to understand the logic of time specification and the language of 142 inheritance as described in [WS-Calendar PIM]. 143

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

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

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

Table -: Core Semantics from WS-Calendar 150

WS-Calendar Term Description

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.

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.

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 [RFC 6321] duration is a data type using the string representation defined in the iCalendar ([RFC5545]) Duration.

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.

Page 10: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 10 of 22

WS-Calendar Term Description

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.

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.

Partition A Partition is a set of consecutive Intervals. The Partition includes the trivial case of a single Interval. Partitions are used to define a single service or behavior that varies over time.

Relation Link Links between Components.

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.

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

2.2 Schedules and Inheritance 152

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

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

159

Figure -: Basic Power Object from EMIX 160

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

163

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

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

* 168

Figure -: Applying Basic Power to a Sequence 169

Page 11: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 11 of 22

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

173

Figure -: Simplifying back to Power in a Single Interval 174

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

Table -: WS-Calendar Semantics: Inheritance (non-normative) 179

Streams 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.

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

This specification extends the use of Inheritance as defined in WS-Calendar. Each Interval in a Stream 181 contains an information payload. Each of these payloads is completed through inheriting information from 182 the Stream as if from a Gluon. The Stream itself inherits information from the context of the interaction or 183 information, as if from Gluon. 184

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

2.1 When: Start, End and Duration 187

Any Interval can be fully defined by two out of these three elements: when it begins, how long it lasts, and 188 when it ends. With any two, you can compute the third. 189

This specification assigns predominance to how long it lasts, the Duration. This approach is commonly 190 used to request human scheduling, i.e., “Find a time when the three of us can meet for an hour.” Activities 191 are then normally scheduled by Start Time, again to reflect human usage: “We will meet for lunch at 192 Noon”. 193

Streams addresses the special case of consecutive Intervals, each of the same Duration, and each with 194 an identical Payload, when adjusted for time. All Durations are known, and the Start Time for all Intervals 195 after the first can be computed by its precedent. 196

2.2 Semantics of Inheritance 197

[WS-Calendar PIM] enables parsimony and artifact reuse through defined rules of inheritance. At its 198 simplest, a Sequence can be relocated or replicated from one day to another, each time inheriting the 199 start date, without being re-crafted. Similarly a start time for a single Interval can affect the start times of 200 the other Intervals in the Sequence. Depending upon Inheritance, an Interval may become Fully Bound, 201 i.e., defined sufficiently for execution. 202

The terms Inherit, Inheritance, and Bequeath are as defined within [WS-Calendar PIM]. 203

Page 12: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 12 of 22

2.3 Semantics from MIN 204

Because [WS-Calendar PIM] is an information model, it does not define any particular serialization or 205 XML elements. The platform specific model described in “WS-Calendar Minimal PIM-Conformant Schema 206 Version 1.0 ([MIN]) defines the essential semantic elements in the PIM. The schema definition artifacts 207 ([XSD]) from PIM are referenced by the Streams schema to define these elements. 208

Page 13: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 13 of 22

3 Streams 209

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

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

[WS-Calendar] defines a Partition as a Sequence of consecutive Intervals. Streams are a parsimonious 219 expression of a Partition that conforms to [WS-Calendar] indirectly by conforming to [WS-Calendar PIM]. 220 Streams also specifies means to define de facto UIDs from Stream Contexts and Interval UIDs to achieve 221

additional parsimony. 222

3.1 New Semantic Elements in Streams 223

Streams may contain Intervals, each containing an informational payload. .Intervals MAY contain any 224 property defined in WS-Calendar.Payload. Streams also introduce their own semantic elements. 225

Table 3-1: Core Semantics and their derivations from WS-Calendar 226

Streams Term Description

Payload Base Payload Base is an abstract class that acts as the Artifact in each Interval. A Specification that conforms to Streams mustMUST specify both the Payload and inheritance rules for the Payload.

Relationship In [WS-Calendar PIM], Relationships are defined by Relation Links and define how Intervals are connected for Binding. In Streams, there is always an implied Relationship binding the Stream Base to the first Interval in each Sequence. That interval is the Designated Interval.

Stream Base The Stream Base is an abstract element that contains the “header” information (or context) for a Stream. The Stream Base specifies recurring information that applies to each Interval in the Stream. A Stream Base mayMAY be related to aderived from a non-calendar application-specific context from which the recurring information is inherited as if the context were a Gluon.

UidUID In WS-Calendar, each Interval MUST be uniquely addressable by the UID, to support reference by an external system. In Streams, the UidUID is degenerate, requiring only enough Uniquenessuniqueness to indicate processing order between intervalsIntervals. If it is necessary to reference a particular Interval in a Stream, a unique reference is created by concatenating the Stream Uid andUID with the Uids of any artifiacts acts as a Gluon, including thatUID of the Stream Base.

All Streams follow the Gluon-Sequence pattern from [WS-Calendar, PIM], i.e., the Stream Base acts a 227 Gluon that optionally contains a degenerate Sequence. Information valid forapplied to the entire 228 streamStream is indicated in the Gluon, i.e., external to the Intervals of the Sequence. Only information 229 that changes over time is contained within each intervalInterval. This changing information is referred to 230 herein as the Payload. 231

Page 14: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 14 of 22

232

Figure 3-1: Stream as Gluon-Equivalent and Degenerate Sequence 233

For example, an associated transaction, a request for telemetry, or even a service definition MAY 234 establish a context, whichand that context acts as a Gluon with respect to the Stream Base. The Stream 235 Base MAY inherit information in the Context. Each Interval in the Stream inherits information from the 236 Stream baseBase. WS-Calendar PIM calls this the lineageLineage of the information. 237

3.2 Intervals and Unique Identifiers 238

XML processing rules do not require that order is preserved when a collection is processed. For a 239 streamStream, it is necessary that the receiver be able to order the intervalsde-serialized Intervals for 240 proper interpretation. To this end, each Interval in a Stream contains a UidUID. 241

242

243

Figure 3-2: Interval, the components of a Sequence 244

The Stream UID is a sortable element that can be used to order the Intervals after processing. The 245 unique identifiers (UID) mandated by [WS-Calendar] can be verbose; as streamsStreams may contain 246 hundreds or even thousands of intervalsIntervals, the overhead for expressing a Uid[WS-Calendar] UID 247 for each intervalInterval could be considerable. [WS-Calendar PIM] is less specific as to how identifiers 248

Page 15: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 15 of 22

are constructed. Stream UIDs mustMUST only be unique within the Stream,: each intervalsInterval is 249 uniquely identified by a Stream UID within the Stream. 250

Streams augment the inheritance pattern of [WS-Calendar PIM] by extending it to the UID. Where each 251 Interval in [WS-Calendar] MUST have a uniquely addressable UID, in Streams, an addressable UID MAY 252

be constructed bythrough concatenation of the Interval ID with UIDs inherited UIDsfrom the Stream. 253

If it is necessary to instantiate an Interval in the Sequence as a [WS-Calendar PIM] conformant Interval, 254 the UIDGUID for each Interval isMAY be derived by (e.g.) appending the Sequence ID to the Stream’s 255 UID. If it is necessary to further differentiate the UID of a particular instance of a Stream, it MAY be 256 concatenated with the UIDs of whatever references and context information is acting as a Gluon for that 257 Stream. In this way, Unique Identifiers for each intervalInterval in each instance of a streamStream can 258 be created by concatenation of UIDs from each object acting as a Gluon. 259

Specifications claiming conformance with Streams MUST specify the mechanism of this concatenation, 260 i.e., concatenation could be by either pre-pending or by appending the Stream Interval UID to the Stream 261 UID. 262

3.3 UML Diagram of Stream 263

264

Figure -: UML Class Diagram of abstract StreamBase class 265

Page 16: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 16 of 22

3.43.3 Stream expression ofStreams: a Restricted Profile for 266

Sequences and Intervals expressed as Durations 267

While this specification is conformant specifications can include anything expressible inwith [WS-268 Calendar PIM], this specification further defines standard profiles of Sequences and Intervals for use in 269

Streams. 270

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

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

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

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

The first (in time and in sequence number) Interval in the Sequence inconveyed by a Stream is the 287 Designated Interval unless another Interval is explicitly so designated in the Stream Base. These terms 288 are defined below. 289

3.4 Observational Data expressed as Streams 290

Observed information may be best communicated as raw data without interpretation. A single set of 291 Observations may be re-purposed or re-processed for multiple uses. For example, a measurement 292 recorded at 3:15 may be a point in both a 5Event. Signals, Reports, and many other messages use this 293 pattern of expression. For example, the Active Period of an Event Bequeaths its start date and time to an 294 Event Signal which Bequeaths that to the Designated Interval in the sequence. These terms are defined 295 below. 296

3.4.1 Observational Data expressed as Streams 297

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

When the boundaries of Conforming applications and specifications SHALL describe how observational 305 data is mapped to Stream Intervals. 306

When an Interval in a Stream are expressed with Date and Time, then all Intervals in that Sequence 307 SHALL be expressed with a Date and Time and that boundary selected SHALL be the Same, i.e., all 308 Intervals MAY be expressed with a Begin Date and Time OR with an End Date and Time. For 309 observations, typical implementations use the End Date and Time. 310

Within a Stream expressed using Dates and Times, a virtual UID for each Interval MAY be constructed by 311 concatenating the Signal Identifier, the and a uniquean inherited context ID (which may be the service 312 ID), and the Date and Time. Within an Observational Stream, this UID can be expressed within each 313 intervalInterval by the End Date and Time alone. Intervals in a Sequence expressed this way are treated 314

Page 17: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 17 of 22

as if each contains an implied FinishToStart relation to the next Interval with a Gap of zero duration. The 315 Duration of each Interval can be computed by using the Date(s) and Time(s) of adjacent Intervals. 316

3.5 Payload Optimization in Streams 317

As defined in [WS-Calendar, PIM], each Interval in a Sequence potentially contains any artifactan Artifact 318 that inherits/extends the WS-Calendar artifactArtifact as a payloadPayload. As used in Streams, this 319 Artifact is expressed once or inherited from the service context. Each Interval in a Stream expresses only 320 the common subset of facts that varies within the context of the Stream. For efficient communication and 321 processing, Streams use these explicit processing rules: 322

1. Unless each intervalInterval includes a full payloadPayload, each Interval in a Stream expresses 323 only the defined subset of the payloadPayload that varies over time. 324

2. Each Interval in a Stream uses the same payloadPayload subset as all other intervalsIntervals in 325 that streamStream. 326

3. All streamsStreams in this specification share a common Payload baseBase. This commonality is 327 derived from the commonality of a request for future performance (Signal), a report of, telemetry 328 reporting performance (Report, conveying baselines, and Delivery),submitting projections of 329 performance (Projection), and a baseline of performance (Baseline).. 330

3.6 Other elements inExtending Stream Payloads 331

Streams does not limit the Payload, but only requires that the Payload be derived from the Payload Base. 332

It may be necessary to qualify information about intervalsIntervals in the future, i.e. indicate the probability 333 of accuracy or some other information. This specification does not address this information requirement. 334

It may be necessary to qualify measurements delivered in a report. Devices have known accuracies. 335 Several Measurements MAY be added together to create a single quantity. A particular reading among 336 many may be estimated or interpolated. To support these uncertainties different payloads arePayloads 337 would generally be defined for different services. 338

Streams does not limit the Payload, but only indicates that the payload be derived from the Payload Base. 339

Page 18: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 18 of 22

4 Conformance 340

4.1 Conformance with the Semantic Models of WS-Calendar-341

PIMPoints 342

This section specifiesWe define two conformance with the semantic modelspoints for WS-Calendar 343 Streams: 344

(1) Conformance of an application to Streams 345 (2) Conformance of [WS-Calendar-PIM]. Thisa specification requiresto Streams 346

Note that the term implementation may apply to both an application that uses Streams and a specification 347

that extends or otherwise reuses Streams. 348

4.2 Conformance of Streams to WS-Calendar-PIM 349

Applications and specifications claiming conformance also conform to SHALL implement all inheritance 350 and semantic rules as described in [WS-Calendar-PIM] Section 5, treating the Stream Base behavior as 351 that of a Gluon 352

Applications and specifications claiming conformance to Streams SHALL conform to PIM Section 6 353 subsections 6.1, 6.3, and 6.4. 354

Applications and specifications claiming conformance SHALL include all functions and schema 355 representations of Stream. Extensions are permitted, but all extensions MUST be documented in the 356 conforming application or specification conformance statement(s). 357

If it is necessary to process a Stream through standard Calendar communications, a Stream SHALL be 358 processed as if it were a Gluon. 359

All Sequence information MAY remain internal to that Gluon. 360

If it is necessary to instantiate Interval in the Sequence as a WS-Calendar or PIM Interval, the UID for 361 each instantiated Interval MAY be derived by concatenating the specific conformance requirements of 362 [WS-Calendar-PIM] are described in section 5.3 of that specification, “Conformance Rules for WS-363 Calendar PIM”.Stream Interval UID to the Stream UID. Conforming applications or specifications SHALL 364

define that concatenation. 365

4.24.3 Inheritance within Streams 366

Streams are a means of conveying informational payloads that vary over time, optimized for concise 367 expression. It may be desirable for those payloads themselves to be optimized by reducing the 368 expression of redundant information. Specifications claiming conformance SHALL use a similar pattern of 369 inheritance, and MUST make explicit what the Gluon equivalent for their specification is, including 370 defining the inheritance rules for the payloads. 371

Specifications and applications claiming conformance SHALL use the [WS-Calendar PIM] pattern of 372 inheritance, and MUST explicitly define the Gluon equivalent(s) for their specification or application, 373 including describing the inheritance rules for the payloads. 374

Conforming Streams MAY inherit from structures external to any particular Streams instance, so long as 375 the specification requires that the information be conveyed by a discoverable artifact or chain of artifacts 376 acting as Gluons. Such Gluons are considered to enter the Lineage of the Stream for purposes of [WS-377 Calendar PIM] conformance, and are inherited by each Interval. 378

4.31.1 Conformance of Streams to WS-Calendar-PIM 379

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

Page 19: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 19 of 22

4.4 Stream expression of Intervals expressed as Durations 384

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

Streams describe Partitions. Within a Stream expressed using Durations, a virtual UID for each such 387 Interval MAY be constructed by concatenating the Stream Identifier, UID (which may include the identity 388 of the source or recipient, and a ) and the Stream Interval UID, which MAY be as simple as a sequence 389 number.1 Within a Stream, this UID can be expressed within each interval by the sequence number alone. 390 Conforming applications and specifications SHALL describe that concatenation and construction of 391 Stream Interval UIDs. 392

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

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

[WS-Calendar-PIM] inheritance defines a Lineage whereby Intervals inherit information from Gluons. In 400 Energy Interoperation, Streams are contained in larger messages. A Stream MAY inherit information from 401 its containing message as if from a Gluon. A Stream-derived Type may contain information external to the 402 Sequence. This information inherits acts as if it were a Gluon, inheriting from the containing message, 403 and Bequeathing information to the designated interval in the SequenceDesignated Interval in the 404 Sequence. Conforming applications and specifications SHALL describe how to determine the values 405 associated with any Stream Interval. 406

The first (in time and in sequence number) Interval in the Sequence in a Stream is the Designated 407 Interval unless another Interval is explicitly so designated in the Stream Event. Signals, Reports, and 408 manyBase or other messages use this pattern of expression. For example, the Active Period of an Event 409 Bequeaths its start date and time artifact acting as a Gluon. Conforming applications or specifications 410 SHALL describe how to an Event Signal which Bequeaths that todetermine the Designated Interval in the 411 sequence. These terms are defined below. 412

4.51.1 Observational Data expressed as Streams 413

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

When the boundaries of Intervals in a Stream are expressed with Date and Time, then all Intervals in that 421 Sequence SHALL be expressed with a Date and Time and that boundary selected SHALL be the Same, 422

1 Within a Stream, this UID can be expressed within each Interval by the sequence number alone.

Page 20: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 20 of 22

i.e., all Intervals MAY be expressed with a Begin Date and Time OR with an End Date and Time. For 423 observations, use the End Date and Time. 424

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

. 431

4.64.5 Conformance of Streams to WS-Calendarfor Observational Data 432

A conforming application or specification SHALL apply all mandatory statements in Section 433 3.4Specifications that conform to [WS-Calendar-PIM] also conform to [WS-Calendar] as described in 434 Section 5.1 “Relationship to WS-Calendar” of [WS-Calendar-PIM]. 435

Specific Rule. If optional or extended behavior is supported the conforming application or specification 436 SHALL specify all optional or extended behavior. 437

4.74.6 Conformance for Stream Payloads and Optimizing Inheritance 438

If the Designated Interval in a Series has a single element consisting of the Payload only, all Intervals in 439 the Sequence conveyMUST include only thata payload element. 440

4.8 Claiming Conformance to Streams 441

Specifications claiming conformance to Streams must specify inheritance rules. 442

4.8.1 Conformance to Lineage 443

A specification claiming conformance to Streams must specify what artifacts act as Gluons and specify 444 any special rules of inheritance. For example, telemetry would tend to measure one thing again in each 445 interval. That one thing MAY be specified in the Stream Base, enabling a Stream Artifact to be fully 446 understood on its own. Alternately, there may be some artifact that describes the measured element, 447 which acts as a Gluon to the Stream Base. 448

A specification claiming conformance to Streams must make explicit the inheritance rules the define the 449 lineage, i.e., that disambiguate the payload in the Stream. 450

4.8.2 Construction of Referenceable Identifier 451

WS-Calendar requires that each interval be uniquely referenceable by an entity external to the system. 452 Identifiers within Intervals of a Stream must only be unique within that sequence. A Stream may contain 453 more than one Sequence. A Stream itself may only be identifiable within a specific context. 454

A specification claiming conformance to Streams MUST specify how a unique identifier can be 455 constructed using the inheritance of each Sequence Conforming applications and specifications SHALL 456 describe any constraints on Stream Payloads. 457

Page 21: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 21 of 22

Appendix A. Acknowledgments 458

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

Participants: 461 David Thewlis, CalConnect 462 William Cox, Individual 463 Gershon Janssen, Individual 464 Benoit Lepeuple, LonMark International 465 Michael Douglass, Rensselaer Polytechnic Institute 466 Toby Considine, University of North Carolina at Chapel Hill 467 Chris Bogen, US Department of Defense (DoD) 468 469

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

472

Page 22: Schedule Signals and Streams Version 1 - OASIS · 71 SOA-RM SOA-RM OASIS Standard, OASIS Reference Model for Service Oriented 72 Architecture 1.0, October 2006 73 WS-Calendar WS-Calendar

streams-v1.0-wd11 Working Draft 11 June 2, 2016 Standards Track Draft Copyright © OASIS Open 2013-2016. All Rights Reserved. Page 22 of 22

Appendix B. Revision History 473

474

Revision Date Editor Changes Made

WD01 8-November-2012

Toby Considine Initial Draft

WD02 27-March-2013

Toby Considine Editing issues per comments

Removed spurious references to Energy Interoperation

WD03 13-May 2013 Toby Considine Added references to WS-Calendar PIM

Re-wrote conformance to rely on PIM

Clarified issues with building GUIDs [UIDs] from sequence through Inheritance

WD04 20-May-2013 Toby Considine Numerous consistency issesissues from TC comments

WD05 29-December-2014

Toby Considine Re-targeted conformance toward the recently completed WS-Calendar PIM

WD06 8-December-2015

Toby Considine Removed MIN etc.

WD07 7-February-2016

Toby Considine First full re-draft after transition from MPC to MIN, first PR of MIN

WD08 25-March-2016

Toby Considine Fixed references, minor comments from last review

WD09 30-May-2016 Toby Considine ` Addressed additional comments from last review

WD10 2-June-2016 William Cox, Toby Considine

Conformance clarification. More consistent model description and terminology

Wd11 2-June-2016 Toby Considine Updated Fields and References

475