W3C

EmotionML 1.0:
Implementation Report Plan

10 May 2012

Editor:
Marc Schröder (DFKI GmbH)
Authors:
(in alphabetic order)
Felix Burkhardt (Deutsche Telekom AG)
Christian Peter (Fraunhofer Gesellschaft)

Table of Contents

1. Introduction

The EmotionML Specification entered the Candidate Recommendation period on 10 May 2012.

Preparation of an Implementation Report is a key criterion for moving beyond the Candidate Recommendation phase. This document describes the requirements for the Implementation Report and the process that the Multimodal Working Group will follow in preparing the report.

An implementation report must indicate the outcome of evaluating the implementation with respect to each of the test assertions. Possible outcomes are "pass", "fail" or "not-impl". Criteria for Producers and Consumers of EmotionML for determining the outcome of each test assertion are defined as follows.

If a consumer:

If a producer:

1.1 Implementation report objectives

1.2 Implementation report non-objectives

2. Work during the Candidate Recommendation period

During the CR period, the Working Group will carry out the following activities:

  1. Clarification and improvement of the exposition of the specification.
  2. Disposing of comments that are communicated to the WG during the CR period.
  3. Preparation of an Implementation Report meeting the criteria outlined in this document.

3. Participating in the implementation report

You are invited to contribute to the assessment of the W3C EmotionML 1.0 Specification by participating in the Implementation Report process.

4. Entrance criteria for the Proposed Recommendation phase

The Multimodal Working Group established the following entrance criteria for the Proposed Recommendation phase in the Request for CR:

  1. Sufficient reports of implementation experience have been gathered to demonstrate that EmotionML processors based on the specification are implementable and have compatible behavior.
  2. Specific Implementation Report Requirements (outlined below) have been met.
  3. The Working Group has formally addressed and responded to all public comments received by the Working Group.

5. Implementation report requirements

5.1 Detailed requirements for implementation report

  1. Testimonials from implementers will be included in the IR when provided to document the utility and implementability of the specification.
  2. IR must cover all specified features in the specification. For each feature the IR should indicate:
  3. Feature status is a factor in test coverage in the report:

5.2 Notes on testing

5.3 Out of scope

EmotionML Implementation Report will not cover:

6. Systems

Note: The testimonials with pink background from "Acme Labs" and "Beta Inc." are just examples and will be replaced with the actually submitted testimonials.

Acme Labs

Exec Summary

The W3C EmotionML 1.0 Specification is well-written, easily implementable and extremely useful. Acme Labs used it to describe the recipe for haggis.

Beta Inc.

Exec Summary

The W3C EmotionML 1.0 Specification is the best thing since sliced bread, extremely useful, easily implementable and well-written. Beta Inc. used it to build a new generation of interactive services, establish world peace, build a new chianti-spaghetti hybrid vehicle, and mix a perfect martini.

7. Test assertions

The aim of this section is to describe the range of test assertions developed for the EmotionML 1.0 Specification. The table lists all the assertions that were derived from the EmotionML 1.0 Specification.

The Assert ID column uniquely identifies the assertion. The Feature column indicates the specific elements or attributes which the test assertion applies to. The Spec column identifies the section of the EmotionML 1.0 Specification from which the assertion was derived. The REQ column is a Y/N value indicating whether the test assertion is for a feature which is required. The SUB column is a Y/N value indicating whether the test assertion is a subconstraint which is dependent on the implementation of the preceding non subconstraint feature test assertion. The Semantics column specifies the semantics of the feature or the constraint which must be met. The Result column will be annotated with the number of 'pass', 'fail', and 'not implemented' (P/F/NI) in the set of implementation reports.

7.1 Classification of test assertions

Test assertions are classified into two types, basic test assertions which test for the presence of each feature, and sub constraints which only apply if that particular feature is implemented. Generally, sub constraints encode structural constraints that could not be expressed in the EmotionML schema. Sub constraints are marked with 'SUB CONSTRAINT:' in the Semantics field.

7.2 EmotionML XML Schema conformance

The most fundamental test of a conforming EmotionML implementation is that the EmotionML documents it utilizes must successfully validate with respect to the EmotionML XML Schema.

7.3 EmotionML Test assertions

Assert ID Feature Spec Req Sub Semantics Results
P F NI
Document structure
100 [2.1.1] Y N All EmotionML documents must validate against the XML schema.
101 emotionml [2.1.1] Y N The root element of standalone EmotionML documents MUST be <emotionml>.
102 emotionml [2.1.1] Y N The <emotionml> element MUST define the EmotionML namespace: "http://www.w3.org/2009/10/emotionml".
103 emotion [2.1.1] N N The <emotionml> element MAY contain one or more <emotion> elements.
104 vocabulary [2.1.1] N N The <emotionml> element MAY contain one or more <vocabulary> elements.
105 info [2.1.1] N N The <emotionml> element MAY contain a single <info> element.
110 version [2.1.1] Y N The root element of a standalone EmotionML document MUST have an attribute "version".
111 version [2.1.1] Y N The "version" attribute of <emotionml> MUST have the value "1.0"
112 category-set [2.1.1] N N The <emotionml> element MAY contain an attribute "category-set".
113 category-set [2.1.1] Y N The "category-set" attribute of <emotionml>, if present, MUST be of type xsd:anyURI.
114 [2.1.1] Y Y SUB CONSTRAINT: The "category-set" attribute of <emotionml>, if present, MUST refer to the ID of a <vocabulary> element with type="category".
115 dimension-set [2.1.1] N N The <emotionml> element MAY contain an attribute "dimension-set".
116 dimension-set [2.1.1] Y N The "dimension-set" attribute of <emotionml>, if present, MUST be of type xsd:anyURI.
117 [2.1.1] Y Y SUB CONSTRAINT: The "dimension-set" attribute of <emotionml>, if present, MUST refer to the ID of a <vocabulary> element with type="dimension".
118 appraisal-set [2.1.1] N N The <emotionml> element MAY contain an attribute "appraisal-set".
119 appraisal-set [2.1.1] Y N The "appraisal-set" attribute of <emotionml>, if present, MUST be of type xsd:anyURI.
120 [2.1.1] Y Y SUB CONSTRAINT: The "appraisal-set" attribute of <emotionml>, if present, MUST refer to the ID of a <vocabulary> element with type="appraisal".
121 action-tendency-set [2.1.1] N N The <emotionml> element MAY contain an attribute "action-tendency-set".
122 action-tendency-set [2.1.1] Y N The "action-tendency-set" attribute of <emotionml>, if present, MUST be of type xsd:anyURI.
123 [2.1.1] Y Y SUB CONSTRAINT: The "action-tendency-set" attribute of <emotionml>, if present, MUST refer to the ID of a <vocabulary> element with type="action-tendency".
124 emotionml [2.1.1] N N The <emotionml> element MAY contain arbitrary plain text.
150 category [2.1.2] N N The <emotion> element MAY contain one or more <category> elements.
151 dimension [2.1.2] N N The <emotion> element MAY contain one or more <dimension> elements.
152 appraisal [2.1.2] N N The <emotion> element MAY contain one or more <appraisal> elements.
153 action-tendency [2.1.2] N N The <emotion> element MAY contain one or more <action-tendency> elements.
154 reference [2.1.2] N N The <emotion> element MAY contain one or more <reference> elements.
155 info [2.1.2] N N The <emotion> element MAY contain a single <info> element.
156 emotion [2.1.2] Y N The <emotion> element MUST contain at least one <category> or <dimension> or <appraisal> or <action-tendency> element.
157 emotion [2.1.2] N N The allowed child elements of <emotion> MAY occur in any order.
158 emotion [2.1.2] N N The allowed child elements of <emotion> MAY occur in any combination.
159 category-set [2.1.2] N N The <emotion> element MAY contain an attribute "category-set".
160 category-set [2.1.2] Y N The "category-set" attribute of <emotion>, if present, MUST be of type xsd:anyURI.
161 [2.1.2] Y Y SUB CONSTRAINT: The "category-set" attribute of <emotion>, if present, MUST refer to the ID of a <vocabulary> element with type="category".
162 dimension-set [2.1.2] N N The <emotion> element MAY contain an attribute "dimension-set".
163 dimension-set [2.1.2] Y N The "dimension-set" attribute of <emotion>, if present, MUST be of type xsd:anyURI.
164 [2.1.2] Y Y SUB CONSTRAINT: The "dimension-set" attribute of <emotion>, if present, MUST refer to the ID of a <vocabulary> element with type="dimension".
165 appraisal-set [2.1.2] N N The <emotion> element MAY contain an attribute "appraisal-set".
166 appraisal-set [2.1.2] Y N The "appraisal-set" attribute of <emotion>, if present, MUST be of type xsd:anyURI.
167 [2.1.2] Y Y SUB CONSTRAINT: The "appraisal-set" attribute of <emotion>, if present, MUST refer to the ID of a <vocabulary> element with type="appraisal".
168 action-tendency-set [2.1.2] N N The <emotion> element MAY contain an attribute "action-tendency-set".
169 action-tendency-set [2.1.2] Y N The "action-tendency-set" attribute of <emotion>, if present, MUST be of type xsd:anyURI.
170 [2.1.2] Y Y SUB CONSTRAINT: The "action-tendency-set" attribute of <emotion>, if present, MUST refer to the ID of a <vocabulary> element with type="action-tendency".
171 version [2.1.2] N N The <emotion> element MAY have an attribute "version".
172 version [2.1.2] Y N The "version" attribute of <emotion>, if present, MUST have the value "1.0".
173 id [2.1.2] N N The <emotion> element MAY contain an attribute "id".
174 id [2.1.2] Y N The "id" attribute of <emotion>, if present, MUST be of type xsd:ID.
175 start [2.1.2] N N The <emotion> element MAY have an attribute "start".
176 end [2.1.2] N N The <emotion> element MAY have an attribute "end".
177 duration [2.1.2] N N The <emotion> element MAY have an attribute "duration".
178 time-ref-uri [2.1.2] N N The <emotion> element MAY have an attribute "time-ref-uri".
179 time-ref-anchor-point [2.1.2] N N The <emotion> element MAY have an attribute "time-ref-anchor-point".
180 offset-to-start [2.1.2] N N The <emotion> element MAY have an attribute "offset-to-start".
181 expressed-through [2.1.2] N N The <emotion> element MAY have an attribute "expressed-through".
182 emotion [2.1.2] N N The <emotion> element MAY contain arbitrary plain text.
Representations of emotions and related states
210 category [2.2.1] Y N If the <category> element is used, a category vocabulary MUST be declared using a "category-set" attribute on either the enclosing <emotion> element or the root element <emotionml>.
211 name [2.2.1] Y N A category element MUST contain a "name" attribute.
212 [2.2.1] Y Y SUB CONSTRAINT: The value of the "name" attribute of the <category> element MUST be contained in the declared category vocabulary. If both the <emotionml> and the <emotion> element has a "category-set" attribute, then the <emotion> element's attribute defines the declared category vocabulary.
213 name [2.2.1] Y N For any given category name in the set, zero or one occurrence is allowed within an <emotion> element, i.e. a category with name "x" MUST NOT appear twice in one <emotion> element.
214 value [2.2.1] N N A <category> MAY contain a "value" attribute.
215 trace [2.2.1] N N A <category> MAY contain a <trace> element.
216 value / trace [2.2.1] Y N A <category> MUST NOT contain both a "value" attribute and a <trace> element.
217 confidence [2.2.1] N N A <category> element MAY contain a "confidence" attribute.
220 dimension [2.2.2] Y N If the <dimension> element is used, a dimension vocabulary MUST be declared using a "dimension-set" attribute on either the enclosing <emotion> element or the root element <emotionml>.
221 name [2.2.2] Y N A <dimension> element MUST contain a "name" attribute.
222 [2.2.2] Y Y SUB CONSTRAINT: The value of the "name" attribute of the <dimension> element MUST be contained in the declared dimension vocabulary. If both the <emotionml> and the <emotion> element has a "dimension-set" attribute, then the <emotion> element's attribute defines the declared dimension vocabulary.
223 name [2.2.2] Y N For any given dimension name in the set, zero or one occurrence is allowed within an <emotion> element i.e. a dimension with name "x" MUST NOT appear twice in one <emotion> element.
224 value / trace [2.2.2] Y N A <dimension> MUST contain either a "value" attribute or a <trace> element.
225 confidence [2.2.2] N N A <dimension> element MAY contain a "confidence" attribute.
230 appraisal [2.2.3] Y N If the <appraisal> element is used, an appraisal vocabulary MUST be declared using an "appraisal-set" attribute on either the enclosing <emotion> element or the root element <emotionml>.
231 name [2.2.3] Y N An <appraisal> element MUST contain the "name" attribute.
232 [2.2.3] Y Y SUB CONSTRAINT: The value of the "name" attribute of the <appraisal> element MUST be contained in the declared appraisal vocabulary. If both the <emotionml> and the <emotion> element has an "appraisal-set" attribute, then the <emotion> element's attribute defines the declared appraisal vocabulary.
233 name [2.2.3] Y N For any given appraisal name in the set, zero or one occurrence is allowed within an <emotion> element, i.e. an appraisal with name "x" MUST NOT appear twice in one <emotion> element.
234 value [2.2.3] N N An <appraisal> element MAY contain a "value" attribute.
235 trace [2.2.3] N N An <appraisal> element MAY contain a <trace> element.
236 value / trace [2.2.3] Y N An <apraisal> element MUST NOT contain both a "value" attribute and a <trace> element.
237 confidence [2.2.3] N N An <appraisal> element MAY contain a "confidence" attribute.
240 action-tendency [2.2.4] Y N If the <action-tendency> element is used, an action tendency vocabulary MUST be declared using an "action-tendency-set" attribute on either the enclosing <emotion> element or the root element <emotionml>.
241 name [2.2.4] Y N An <action-tendency> element MUST contain the "name" attribute.
242 [2.2.4] Y Y SUB CONSTRAINT: The value of the "name" attribute of the <action-tendency> element MUST be contained in the declared action tendency vocabulary. If both the <emotionml> and the <emotion> element has an "action-tendency-set" attribute, then the <emotion> element's attribute defines the declared action tendency vocabulary.
243 name [2.2.4] Y N For any given action tendency name in the set, zero or one occurrence is allowed within an <emotion> element, i.e. an action tendency with name "x" MUST NOT appear twice in one <emotion> element.
244 value [2.2.4] N N An <action-tendency> element MAY contain a "value" attribute.
245 trace [2.2.4] N N An <action-tendency> element MAY contain a <trace> element.
246 value / trace [2.2.4] Y N An <action-tendency> element MUST NOT contain both a "value" attribute and a <trace> element.
247 confidence [2.2.4] N N An <action-tendency> element MAY contain a "confidence" attribute.
Meta-information
300 confidence [2.3.1] Y N The value of the "confidence" attribute MUST be a floating point number in the closed interval [0, 1].
301 expressed-through [2.3.2] Y N The attribute "expressed-through" of the <emotion> element, if present, MUST be of type xsd:nmtokens.
302 info [2.3.3] N N The <info> element MAY contain any elements with a namespace different from the EmotionML namespace, "http://www.w3.org/2009/10/emotionml".
303 info [2.3.3] N N The <info> element MAY contain arbitrary plain text.
304 info [2.3.3] Y N The <info> element MUST NOT contain any elements in the EmotionML namespace, "http://www.w3.org/2009/10/emotionml".
305 id [2.3.3] N N The <info> element MAY contain an attribute "id".
306 id [2.3.3] Y N The "id" attribute of the <info> element, if present, MUST be of type xsd:ID.
References and time
410 uri [2.4.1] Y N The <reference> element MUST contain a "uri" attribute.
411 uri [2.4.1] Y N The "uri" attribute of <reference> MUST be of type xsd:anyURI.
412 [2.4.1] N Y SUB CONSTRAINT: The URI in the "uri" attribute of a <reference> element MAY be extended by a media fragment.
413 role [2.4.1] N N The <reference> element MAY contain a "role" attribute.
414 role [2.4.1] Y N The value of the "role" attribute of the <reference> element, if present, MUST be one of "expressedBy", "experiencedBy", "triggeredBy", "targetedAt".
415 media-type [2.4.1] N N The <reference> element MAY contain a "media-type" attribute.
416 media-type [2.4.1] Y N The value of the "media-type" attribute of the <reference> element, if present, MUST be of type xsd:string.
417 [2.4.1] Y Y SUB CONSTRAINT: The value of the "media-type" attribute of the <reference> element, if present, MUST be a valid MIME type.
420 start [2.4.2] Y N The value of the "start" attribute of <emotion>, if present, MUST be of type xsd:nonNegativeInteger.
421 end [2.4.2] Y N The value of the "end" attribute of <emotion>, if present, MUST be of type xsd:nonNegativeInteger.
422 duration [2.4.2] Y N The value of "duration" attribute of <emotion>, if present, MUST be of type xsd:nonNegativeInteger.
423 time-ref-uri [2.4.2] Y N The value of the "time-ref-uri" attribute of <emotion>, if present, MUST be of type xsd:anyURI.
424 time-ref-anchor-point [2.4.2] Y N The value of the "time-ref-anchor-point" attribute of <emotion>, if present, MUST be either "start" or "end".
425 offset-to-start [2.4.2] Y N The value of the "offset-to-start" attribute of <emotion>, if present, MUST be of type xsd:integer.
Scale values
500 value [2.5.1] Y N The value of a "value" attribute, if present, MUST be a floating point value from the closed interval [0, 1].
501 freq [2.5.2] Y N The <trace> element MUST have a "freq" attribute.
502 freq [2.5.2] Y N The value of the "freq" attribute of <trace> MUST be a positive floating point number followed by optional whitespace followed by "Hz".
503 samples [2.5.2] Y N The <trace> element MUST have a "samples" attribute.
504 samples [2.5.2] Y N The value of the "samples" attribute of <trace> MUST be a space-separated list of floating point values from the closed interval [0, 1].
Defining vocabularies for representing emotions
600 item [3.1.1] Y N A <vocabulary> element MUST contain one or more <item> elements.
601 info [3.1.1] N N A <vocabulary> element MAY contain a single <info> element.
602 type [3.1.1] Y N A <vocabulary> element MUST contain a "type" attribute.
603 type [3.1.1] Y N The value of the "type" attribute of the <vocabulary> element MUST be one of "category", "dimension", "action-tendency" or "appraisal".
604 id [3.1.1] Y N A <vocabulary> element MUST contain an "id" attribute
605 id [3.1.1] Y N The value of the "id" attribute of the <vocabulary> element MUST be of type xsd:ID .
606 info [3.1.2] N N An <item> element MAY contain a single <info> element.
607 name [3.1.2] Y N An <item> element MUST contain a "name" attribute.
608 name [3.1.2] Y N An <item> MUST NOT have the same name as any other <item> within the same <vocabulary>.
Conformance
700 [4.1] Y N All EmotionML elements MUST use the EmotionML namespace, "http://www.w3.org/2009/10/emotionml".

Appendices

Appendix A - Implementation report submission format

The following XML should be used as a template for providing an implementation report.

<system-report name="YOUR-SYSTEM-NAME-HERE">
	<testimonial>YOUR-WELL-FORMED-TESTIMOMIAL-CONTENT-HERE</testimonial>
	<assert id="100" res="pass|fail|not-impl">OPTIONAL-NOTES-HERE</assert>
</system-report>

Appendix B - Acknowledgements

The Multimodal Working Group would like to acknowledge the contributions of several individuals: