38
Reader Management (RM 1.0.1) Conformance Requirements Specification Copyright ©2006, 2007 EPCglobal ® , All Rights Reserved. Page 1 of 38 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Reader Management (RM 1.0.1) Conformance Requirements Document Date: 09-04-2007

RM Conformance Requirements - GS1 · An RM Conformance Certification Program will focus on testing a given company’s ... 110 providers enrolled in the certification program

Embed Size (px)

Citation preview

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 1 of 38

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Reader Management (RM 1.0.1)

Conformance Requirements Document

Date: 09-04-2007

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 2 of 38

Abstract 22

23 24 25 26 27 28 29

30 31 32 33 34 35 36

37

38 39 40 41 42

43

44

45 46 47 48

49

This document outlines the approach to conformance testing for the EPCglobal Reader Management (RM) 1.0.1 specification. The objective of the RM conformance certification program is to test and certify solution providers’ implementations of the EPCglobal RM functionalities. Certification of RM conformance provides confidence for buyers in the operational capability of a specific product’s implementation of the RM functionalities, while providing solution providers a benchmark to assure product functionality.

In the certification testing all the mandatory tests (arising out of SHALL clauses in the RM spec) will be tested and a vendor must pass all those mandatory tests. For optional features, if the vendor claims to support a specific optional feature, the corresponding optional feature test must be passed. Note that if the vendor does not pass the claimed optional features but passes all the mandatory feature tests, a compliance certificate will still be issued. The vendor will also be given a list specifying which optional tests the vendor has passed.

Status of this document This section describes the status of this document at the time of its publication. As of this writing, this conformance requirements document reflects the RM Specification as shown in the reference section later. Other documents may supersede this document. The latest status of this document series is maintained at the EPCglobal. This document has been reviewed by the working group and is in its final form of delivery to EPCglobal.

Acknowledgements EPC Global’s ALE 1.0 Conformance Requirements document has been used as the baseline for creation of this document. Most of the technical materials have been provided by Gerhard Gangl of 7id. The RM work group members have been instrumental in providing the ideas and details for this document.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 3 of 38

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

Table of Contents

1 Revision History ..............................................................................................................5

2 Introduction.....................................................................................................................5

3 Scope.................................................................................................................................5

4 Program Overview..........................................................................................................6

5 Test Environment............................................................................................................7

6 Terminology.....................................................................................................................8

7 Reader Management Command List ............................................................................9

8 List of Reader Functionalities......................................................................................14

9 Test Case Requirements (TCR)...................................................................................22

9.1 Requirement command get/setDescription (TCR1) .................................................22

9.2 Requirement command get/setLocationDescription (TCR2) ...................................22

9.3 Requirement command get/setContact (TCR3) .......................................................23

9.4 Requirement command getSerialNumber (TCR4) ...................................................24

9.5 Requirement command getOperStatus (TCR5)........................................................25

9.6 Requirement command getIOPort (TCR6) ..............................................................25

9.7 Requirement command getAllIOPorts (TCR7) ........................................................27

9.8 Requirement command resetStatistics (TCR8) ........................................................27

9.9 Requirement command getName (TCR9) ................................................................29

9.10 Requirement command getClassName (TCR10) ...................................................29

9.11 Requirement command get/setDescription (TCR11) .............................................31

9.12 Requirement command get/setAdminStatus and getOperStatus (TCR12) .............32

9.13 Requirement command getIdentificationCount (TCR13) ......................................35

9.14 Requirement command getWriteCount (TCR14) ...................................................35

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 4 of 38

9.15 Requirement command getKillCount (TCR15)......................................................37 75

76

77

78

9.16 Requirement command getEraseCount (TCR16)...................................................37

9.17 Requirement for a failed command behavior (TCR17)..........................................39

10 References....................................................................................................................39

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 5 of 38

1 Revision History 79 80

Date Change Summary Document Revision Number

2007/09/04

Added SNMP Testing Notes clarifying how to test SNMP conformance for several tests

Added Pre-Test conditions for TCR1-3

Removed TCR9 (keeping original numbering scheme)

Altered TCR16 test to only require retrieving the EraseCount value

1.0.1

2006/05/22 Initial revision 1.0

2 Introduction 81 2

96

98

99 100 101

103 104 105 106

8

Technical implementations of the Reader Management (RM) specification may vary due 83 to distinct interpretations of the specification and/or use of proprietary technologies when 84 developing systems that implement the EPCglobal Architecture Framework. 85 Conformance testing provides a mechanism to ensure that solutions adhere to, and are 86 compatible with, the specified standard. The RM Conformance Certification Program 87 will provide solution providers a benchmark to assure product functionality according to 88 the RM specification, while imparting confidence on potential buyers in the operational 89 capability of a specific product’s implementation of the RM functionalities. 90

RM certification represents an endorsement that helps solution providers differentiate 91 their products and services within the marketplace. Certification of RM conformance 92 instills both product recognition and a level of public confidence sought by corporate 93 supply chains looking to partner with a solution provider of EPCglobal standard 94 compliant products. Implementation of an RM certification program will: 95

• Help move the industry toward RFID Interoperability

• Accelerate RM and EPC Implementations 97

• Publicly identify product vendors who support the EPCglobal standards.

The EPC Global Reader Management working group is responsible for defining the RM Certification test scenarios that the authorized testing agency will use in developing a test harness and associated test scripts.

3 Scope 102 An RM Conformance Certification Program will focus on testing a given company’s implementation of the RM protocol and its conformance to the RM 1.0.1 Specification. Note that the RM Conformance Certification Program is NOT intended to test the performance, reliability, or scalability of the tested product.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 6 of 38

107

108

117

118

119 120

4 Program Overview The RM Certification Program will be offered by a certified testing laboratory to solution 109 providers enrolled in the certification program. Program Implementation and Certificate 110 definition are to be defined by EPCglobal US and a chosen Testing Laboratory. 111

An EPCglobal RM Conformance Certification Program will focus on testing the 112 following aspects of Reader Management Specification: 113

Solution providers who wish to submit their product(s) for testing must submit the 114 following to the testing laboratory: 115

• An Implementation Under Test (IUT) – a Reader supporting the RM 1.0.1 features 116

• A list of optional features the vendor claims to be supporting.

• Written documentation about the message format and bindings supported by the IUT

• A physical or simulated environment where the tags can be placed, read and removed from the readers area of operation.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 7 of 38

5 Test Environment 121 122

123

124

125

126

127

128

129

130

131

132

133

134 135 136

137 138 139

140 141 142

3

144

5

The RM supports two distinct message formats (and corresponding bindings) through which it can communicate to the reader. These are XML and SNMP. A specific IUT may or may not support both formats but must support at least one.

In this document we call them SNMP Management Host and XML Management Host. Both of them use the same Reader Management Command Set to communicate with the reader.

In the context of RM conformance, the Conformance Tester implementing the tests will send RM commands and receive the responses and validate if the response is the expected response or not.

14

14

Reader Management Command Set

XML

TCP

SNMP

UDP

Content of Reader/Host Exchanges (abstract syntax)

Message formatting - Message framing - Security services - Connection establishment

O/S-provided network transport facility

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 8 of 38

14 6

151

153

156

158

160 161

163 164

165

166

167

168

169

170

171

172 173

174 175 176 177

6 Terminology 147 This document adopts terminology developed by the World Wide Web Consortium 148 [W3C-Conformance]: 149

• Certificate Issuer The organization that issues certificates of conformance, namely, 150 EPCglobal.

• Testing Laboratory An organization that carries out certification testing on behalf of 152 the Certificate Issuer

• Specification An EPCglobal specification for which conformance is tested. 154

• Implementation Under Test (IUT) A submission of hardware and/or software for 155 which certification is sought by an EPCglobal subscriber.

• System Under Test (SUT) The IUT together with any other apparatus required to 157 carry out the test.

• Test Method A description of the test that is applied to the SUT. There may be 159 more than one Test Method available for a given RM 1.0.1 specification requirement, each providing a different level of conformance testing.

• Test Report Quoting from [W3C-Conformance]: “A Test Report contains the 162 results of the testing effort. The test report should provide enough information that, if necessary, the testing effort could be duplicated. The testing report should contain:

• a complete description of the IUT,

• the name of the Testing Laboratory,

• the signature of a Testing Laboratory official,

• the date that the testing was completed,

• the name and version number of the Test Method

• the results of the Test Method

• an unambiguous statement indicating pass or fail.”

• RM Conformance Certification Program An EPCglobal US sponsored Software/Hardware solution certification program measuring RM 1.0.1 conformance.

• Certificate of Conformance Quoting again from [W3C-Conformance]: “The certificate of conformance is typically a summation of the Test Report. Since it is often used in the procurement process, it includes information most pertinent between the buyer and the seller.”

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 9 of 38

178

179 180

181 182 183 184 185 186

187

7 Reader Management Command List

This section lists the commands a Management Software can issue to a reader. The commands have been grouped by reader objects to which the commands are applicable. The table also differentiates between the mandatory commands and the optional commands. For mandatory commands, the test case requirements are stated but for optional commands it is left upto the test lab to assign test case names and numbers.

These commands are required for conformance. Hard SHALL!

These commands are soft SHALL’s. If implemented X you SHALL implement this command.

These are optional commands which MAY be implemented

188

Object Method Conformance Requirement Test Case

ReaderDevice ReaderDevice.getDescription SHALL TCR1

ReaderDevice.setDescription SHALL TCR1

ReaderDevice.getLocationDescription SHALL TCR2

ReaderDevice.setLocationDescription SHALL TCR2

ReaderDevice.getContact SHALL TCR3

ReaderDevice.setContact SHALL TCR3

ReaderDevice.getSerialNumber SHALL TCR4

ReaderDevice.getOperStatus SHALL TCR5 / TCR12

ReaderDevice.getOperStatusAlarmControl MAY

ReaderDevice.getFreeMemory MAY

ReaderDevice.getFreeMemoryAlarmControl MAY

ReaderDevice.getNTPServers MAY

ReaderDevice.getDHCPServer MAY

ReaderDevice.getIOPort SHALL TCR6

ReaderDevice.getAllIOPorts SHALL TCR7

ReaderDevice.resetStatistics SHALL TCR8

ReaderDevice.removeAlarmChannels MAY

ReaderDevice.removeAllAlarmChannels MAY

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 10 of 38

ReaderDevice.getAlarmChannel MAY

ReaderDevice.getAllAlarmChannels MAY

NotificationChannel NotificationChannel.getLastNotificationAttempt MAY

NotificationChannel.getLastSuccesfullNotification MAY

NotificationChannel.getOperStatus MAY

NotificationChannel.setAdminStatus MAY

NotificationChannel.getAdminStatus MAY

NotificationChannel.getOperStatusAlarmControl MAY

AlarmChannel AlarmChannel.create MAY

AlarmChannel.getName MAY

AlarmChannel.getAddress MAY

AlarmChannel.setAddress MAY

ReadPoint ReadPoint.getName SHALL

TRC9 Covered by RP !!

ReadPoint.getClassName SHALL TCR10

ReadPoint.getDescription SHALL TCR11

ReadPoint.setDescription SHALL TCR11

ReadPoint.getAdminStatus SHALL TCR12

ReadPoint.setAdminStatus SHALL TCR12

ReadPoint.getOperStatus SHALL TCR12

ReadPoint.getOperStatusAlarmControl MAY

AntennaReadPoint AntennaReadPoint.getIdentificationCount SHALL TCR13

AntennaReadPoint.getFailedIdentificationCount MAY

AntennaReadPoint.getMemReadCount MAY

AntennaReadPoint.getFailedMemReadCount MAY

AntennaReadPoint.getFailedMemReadAlarmControl MAY

AntennaReadPoint.getWriteCount SHALL TCR14

AntennaReadPoint.getFailedWriteCount MAY

AntennaReadPoint.getFailedWriteAlarmControl MAY

AntennaReadPoint.getKillCount SHALL TCR15

AntennaReadPoint.getFailedKillCount MAY

AntennaReadPoint.getFailedKillAlarmControl MAY

AntennaReadPoint.getEraseCount SHALL TCR16

AntennaReadPoint.getFailedEraseCount MAY

AntennaReadPoint.getFailedEraseAlarmControl MAY

AntennaReadPoint.getLockCount MAY

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 11 of 38

AntennaReadPoint.getFailedLockCount MAY

AntennaReadPoint.getFailedLockAlarmControl MAY

AntennaReadPoint.getTimeEnergized MAY

AntennaReadPoint.getPowerLevel MAY

AntennaReadPoint.getNoiseLevel MAY

Source Source.getUnknownToGlimpsedCount MAY

Source.getGlimpsedToUnknownCount MAY

Source.getGlimpsedToObservedCount MAY

Source.getObservedToLostCount MAY

Source.getLostToObservedCount MAY

Source.getLostToUnknownCount MAY

Source.getOperStatus SHALL TCR12

Source.getAdminStatus SHALL TCR12

Source.setAdminStatus SHALL TCR12

Source.getOperStatusAlarmControl MAY

Trigger Trigger.getFireCount MAY

IOPort IOPort.getName MAY

IOPort.getDescription MAY

IOPort.setDescription MAY

IOPort.getOperStatus MAY

IOPort.getAdminStatus MAY

IOPort.setAdminStatus MAY

IOPort.getOperStatusAlarmControl MAY

AlarmControl AlarmControl.getName MAY

AlarmControl.getEnabled MAY

AlarmControl.setEnabled MAY

AlarmControl.getLevel MAY

AlarmControl.setLevel MAY

AlarmControl.getSuppressInterval MAY

AlarmControl.setSuppressInterval MAY

EdgeTriggeredAlarmControl EdgeTriggeredAlarmControl.getAlarmThreshold MAY

EdgeTriggeredAlarmControl.setAlarmThreshold MAY

EdgeTriggeredAlarmControl.getRearmThreshold MAY

EdgeTriggeredAlarmControl.setRearmThreshold MAY

EdgeTriggeredAlarmControl.getDirection MAY

EdgeTriggeredAlarmControl.setDirection MAY

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 12 of 38

EdgeTriggeredAlarmControl.getStatus MAY

TTOperationalStatusAlarmControl TTOperationalStatusAlarmControl.getTriggerFromState MAY

TTOperationalStatusAlarmControl.setTriggerFromState MAY

TTOperationalStatusAlarmControl.getTriggerToState MAY

TTOperationalStatusAlarmControl.setTriggerToState MAY

Alarm Alarm.getReaderDeviceEPC MAY

Alarm.getReaderDeviceName MAY

Alarm.getReaderDeviceHandle MAY

Alarm.getReaderDeviceRole MAY

Alarm.getTimeTicks MAY

Alarm.getTimeUTC MAY

Alarm.getName MAY

Alarm.getAlarmLevel MAY

Alarm.getSuppressCount MAY

FreeMemoryAlarm FreeMemoryAlarm.getFreeMemory MAY

FailedWriteAlarm FailedWriteAlarm.getReadPointName MAY

FailedWriteAlarm.getFailedWriteCount MAY

FailedWriteAlarm.getNoiseLevel MAY

FailedEraseAlarm FailedEraseAlarm.getReadPointName MAY

FailedEraseAlarm.getFailedEraseCount MAY

FailedEraseAlarm.getNoiseLevel MAY

FailedKillAlarm FailedKillAlarm.getReadPointName MAY

FailedKillAlarm.getFailedKillCount MAY

FailedKillAlarm.getNoiseLevel MAY

FailedLockAlarm FailedLockAlarm.getReadPointName MAY

FailedLockAlarm.getFailedLockCount MAY

FailedLockAlarm.getNoiseLevel MAY

FailedMemReadAlarm FailedMemReadAlarm.getReadPointName MAY

FailedMemReadAlarm.getFailedMemReadCount MAY

FailedMemReadAlarm.getNoiseLevel MAY

TTOperStatusAlarm TTOperStatusAlarm.getFromState MAY

TTOperStatusAlarm..getToState MAY

ReaderDeviceOperStatusAlarm No further commands on this object, just the type. MAY

IOPortOperStatusAlarm IOPortOperStatusAlarm.getIOPortName MAY

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 13 of 38

ReadPointOperStatusAlarm ReadPointOperStatusAlarm.getReadPointName MAY

SourceOperStatusAlarm SourceOperStatusAlarm.getSourceName MAY

NotificationChannelOperStatusAlarm NotificationChannelOperStatusAlarm.getNotificationChannelName MAY

189

190

191

192

193

Reader Management Command Summary:

25 Hard required SHALL commands 61 Soft required optional SHALL commands. If implemented X then implement this command. 39 Optional commands. 125 commands over all.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 14 of 38

194

195 196

197 198 199

200

8 List of Reader Functionalities

This section lists all the mandatory (SHALL) reader functionalities in terms of protocol sub clauses (section by section), requirements and if the clause is a Must (hard) or Optional (conditional) support for a reader.

Req.

No.

Protocol

SubClause

Requirements

(Requirements, Command, …) hard or conditional

Condition / Testcase / Remarks

1

4.1.2 Command Channel

A compliant Reader SHALL however have at least one command channel with a default address where it is listening to incoming commands. This default address SHALL be listed in the documentation of a compliant reader.

hard Covered by all testcases implicitly.

2

4.1.6 IOPort Object

If a reader device exposes its IOPorts, it SHALL implement the methods identified as such.

conditional This is optional. See command list.

4.1.7 Alarm Channel Object

A compliant system SHALL provide the means to create/ define AlarmChannels either using the commands specified in this specification, or through a Reader specific means, such as through the use of an out-of-band protocol, or via a configuration file.

conditional This is optional. See command list.

4.2 AlarmControl Objects

AlarmControls SHALL be implemented if AlarmChannels are implemented.

conditional This is optional. See command list.

4.3 Alarm Objects

Alarm objects SHALL be implemented if AlarmChannels are implemented.

conditional This is optional. See command list.

5 Reader Layer-Commands

All commands are atomic, meaning that they SHALL be executed either completely or not at all. For example, when adding arrays of things (e.g., FieldNames to a DataSelector), and one value is not supported or not known, then no values SHALL be added and error SHALL be raised.

hard Verified by design. Can only be tested on optional commands.

5 Reader Layer-Commands

If the command cannot be executed correctly, the return value SHALL be undefined and an error condition SHALL be raised.

hard TCR17

5 Reader Layer-Commands

All strings SHALL be capable of being represented with UTF-8 encoding

hard By design

5.1.1

ReaderDevice.getDescription Compliant systems SHALL implement this command.

hard TCR1

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 15 of 38

5.1.2 ReaderDevice.setDescription

Compliant systems SHALL implement this command.

hard TCR1

5.1.3 ReaderDevice.getLocationDecription Compliant systems SHALL implement this command.

hard TCR2

5.1.4 ReaderDevice.setLocationDescription

Compliant systems SHALL implement this command if, and only if, the system implements setContact.

hard TCR2

5.1.5 ReaderDevice.getContact

Compliant systems SHALL implement this command.

hard TCR3

5.1.5.1 ReaderDevice.setContact

Compliant systems SHALL implement this command.

hard TCR3

5.1.6 ReaderDevice.getSerialNumber

Compliant systems SHALL implement this command.

hard TCR4

5.1.7 ReaderDevice.getOperStatus

Compliant systems SHALL implement this command.

hard TCR5 / TCR12

5.1.8 ReaderDevice.getOperStatusAlarmControl Compliant systems SHALL implement this command if, and only if, AlarmChannels are implemented.

conditional This is optional. See command list.

5.1.13 ReaderDevice.getIOPort Compliant systems SHALL implement this command. if, and only if, IOPort.create() is implemented.( Remove from Spec )

hard TCR6

5.1.14 ReaderDevice.getAllIOPorts Compliant systems SHALL implement this command.

hard TCR7

5.1.15 ReaderDevice.resetStatistics Upon receiving this command, the reader SHALL set all supported counters to zero.

hard TCR8

5.1.16 ReaderDevice.removeAlarmChannels If one or more of the AlarmChannels given are not known, or if some of the AlarmChannels to be removed are currently not associated with this Reader, these are ignored and all other AlarmChannels SHALL be removed and the command SHALL complete successfully. Compliant systems SHALL implement this command, if and only if, AlarmChannel.create() is implemented.

conditional This is optional. See command list.

5.1.17 ReaderDevice.removeAllAlarmChannels Compliant systems

SHALL implement this command if, and only if, AlarmChannel is implemented.

conditional This is optional. See command list.

5.1.18 ReaderDevice.getAlarmChannel Compliant systems SHALL

implement this command if, and only if, AlarmChannel.create() is implemented.

conditional This is optional. See command list.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 16 of 38

5.1.19 ReaderDevice.getAllAlarmChannels If no AlarmChannel are currently associated with this object, the command SHALL complete successfully and an empty list SHALL be returned. Compliant systems SHALL implement this command if, and only if, AlarmChannel.create() is implemented.

conditional This is optional. See command list.

5.2.3 NotificationChannel.getOperStatus Compliant systems SHALL

implement this command if, and only if, the system implements Notification Channels.

conditional This is optional. See command list.

5.2.4 NotificationChannel.setAdminStatus Compliant systems

SHALL implement this command if the system implements Notification Channels.

conditional This is optional. See command list.

5.2.5 NotificationChannel.getAdminStatus Compliant systems SHALL

implement this command if, and only if, the system implements Notification Channels.

conditional This is optional. See command list.

5.2.6 NotificationChannel.getOperStatusAlarmControl Compliant

systems SHALL implement this command if, and only if, the system implements Notification Channels and AlarmChannels.

conditional This is optional. See command list.

5.3.1 AlarmChannel.create The AlarmChannel SHALL implicitly be added to the list of all AlarmChannels kept by the ReaderDevice object. Compliant systems CAN implement this command. If it is not implemented, and Alarm Notifications are implemented, the system SHALL provide an alternate method of defining AlarmChannels.

conditional This is optional. See command list.

5.3.2 AlarmChannel.getName Compliant systems SHALL implement this command if AlarmChannels are implemented.

conditional This is optional. See command list.

5.3.3 AlarmChannel.getAddress Compliant systems SHALL implement this command if AlarmChannels are implemented.

conditional This is optional. See command list.

5.3.4 AlarmChannel.setAddress Compliant systems SHALL

implement this command if AlarmChannel.create is implemented.

conditional This is optional. See command list.

5.4.1 ReadPoint.getName Compliant systems SHALL implement this command.

hard TCR9 Covered by RP also

5.4.2 ReadPoint.getClassName Compliant systems SHALL implement this command.

hard TCR10

5.4.3 ReadPoint.getDescription Compliant systems SHALL implement this command

hard TCR11

5.4.4 ReadPoint.setDescription Compliant systems SHALL implement this command.

hard TCR11

5.4.5 ReadPoint.getAdminStatus Compliant systems SHALL implement this command.

hard TCR12

5.4.6 ReadPoint.setAdminStatus Compliant systems SHALL implement this command

hard TCR12

5.4.7 ReadPoint.getOperStatus Compliant systems SHALL implement this command.

hard TCR12

5.4.8 ReadPoint.getOperStatusAlarmControl Compliant systems conditional This is optional.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 17 of 38

SHALL implement this command if, and only if, AlarmChannels are implemented.

See command list.

5.5.1 AntennaReadPoint.getIdentificationCount Compliant systems SHALL implement this command.

hard TCR13

5.5.6 AntennaReadPoint.getWriteCount Compliant systems SHALL implement this command.

hard TCR14

5.5.9 AntennaReadPoint.getKillCount Compliant systems SHALL implement this command.

hard TCR15

5.5.12 AntennaReadPoint.getEraseCount Compliant systems SHALL implement this command.

hard TCR16

5.6.7 Source.getOperStatus Compliant systems SHALL implement this command.

hard TCR12

5.6.8 Source.getAdminStatus Compliant systems SHALL implement this command.

hard TCR12

5.6.9 Source.setAdminStatus

Compliant systems SHALL implement this command.

hard TCR12

5.6.10 Source.getOperStatusAlarmControl Compliant systems SHALL implement this command if AlarmChannel is implemented.

conditional This is optional. See command list.

5.8.1 IOPort.getName Compliant systems SHALL implement this command if IOPorts are exposed.

conditional This is optional. See command list.

5.8.2 IOPort.getDescription

Compliant systems SHALL implement this command if IOPorts are exposed.

conditional This is optional. See command list.

5.8.3 IOPort.setDescription Compliant systems SHALL implement this command if IOPorts are exposed.

conditional This is optional. See command list.

5.8.4 IOPort.getOperStatus Compliant systems SHALL implement this command if IOPorts are exposed.

conditional This is optional. See command list.

5.8.5 IOPort.getAdminStatus Compliant systems SHALL implement this command if IOPorts.

conditional This is optional. See command list.

5.8.6 IOPort.setAdminStatus Compliant systems SHALL implement this command if IOPorts are exposed.

conditional This is optional. See command list.

5.8.7 IOPort.getOperStatusAlarmControl

Compliant systems SHALL implement this command if AlarmChannel is implemented..

conditional This is optional. See command list.

5.9.1 AlarmControl.getName Compliant systems SHALL implement this command if AlarmChannel is implemented.

conditional This is optional. See command list.

5.9.2 AlarmControl.getEnabled

Compliant systems SHALL implement this command if AlarmChannel is implemented.

conditional This is optional. See command list.

5.9.3 AlarmControl.setEnabled Compliant systems SHALL implement this command if AlarmChannel is implemented.

conditional This is optional. See command list.

5.9.4 AlarmControl.getLevel Compliant systems SHALL implement conditional This is optional.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 18 of 38

this command if AlarmChannel is implemented. See command list.

5.9.5 AlarmControl.setLevel Compliant systems SHALL implement this command if AlarmChannel is implemented.

conditional This is optional. See command list.

5.9.6.1 EdgeTriggeredAlarmControl.getAlarmThreshold Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.6.2 EdgeTriggeredAlarmControl.setAlarmThreshold Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.6.3 EdgeTriggeredAlarmControl.getRearmThreshold Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.6.4 EdgeTriggeredAlarmControl.setRearmThreshold Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.6.5 EdgeTriggeredAlarmControl.getDirection Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.6.6 EdgeTriggeredAlarmControl.setDirection Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.6.7 EdgeTriggeredAlarmControl.getStatus Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.7.1 TTOperationalStatusAlarmControl.getTriggerFromState Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.7.2 TTOperationalStatusAlarmControl.setTriggerFromState Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.7.3 TTOperationalStatusAlarmControl.getTriggerToState Compliant systems SHALL implement this command.

conditional This is optional. See command list.

5.9.7.4 TTOperationalStatusAlarmControl.setTriggerToState Compliant systems SHALL implement this command.

conditional This is optional. See command list.

Each alarm message MAY carry a ReaderDeviceEPC field (of type epc) specifying the EPC of the reader that generated the alarm.

conditional This is optional. See command list.

Each alarm message SHALL carry a ReaderDeviceName field (of type String) specifying the name of the reader that generated the alarm.

conditional This is optional. See command list.

6.1.1 Alarm

Each alarm message SHALL also carry a TimeTicks field (of type int) recording the number of ticks when the alarm was generated.

conditional This is optional. See command list.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 19 of 38

Each alarm message SHALL carry a Name field (of type String) identifying the type of Alarm message, e.g., “FreeMemoryAlarm”, “TagListFullAlarm”, “ReadPointOperStatusAlarm”. It SHALL matched on of the Alarm types specified in this section in this specification.

conditional This is optional. See command list.

Finally, each alarm message SHALL carry a Level field (of type AlarmLevel), indicating the severity level assigned to the alarm (SEVERE, WARNING, INFORMATION, CONFIGURATION).

conditional This is optional. See command list.

6.1.2 FreeMemoryAlarm The FreeMemory field SHALL carry the

value of ReaderDevice.FreeMemory when the alarm was triggered.

conditional This is optional. See command list.

6.1.3 FailedWriteAlarm

The ReadPointName field identifies the read point (an AntennaReadPoint) over which the write failure occurred. This SHALL be the value of that read point’s ReadPoint.Name element.

The FailedWriteCount field SHALL carry the value of AntennaReadPoint.FailedWriteCount element after the write failure occurred.

conditional This is optional. See command list.

6.1.4

FailedEraseAlarm The ReadPointName field identifies the read point (an AntennaReadPoint) over which the erase failure occurred. This SHALL be the value of that read point’s ReadPoint.Name element.

The FailedEraseCount field SHALL carry the value of AntennaReadPoint.FailedEraseCount element after the erase failure occurred.

conditional This is optional. See command list.

6.1.5 FailedKillAlarm The ReadPointName field identifies the read point (an AntennaReadPoint) over which the kill failure occurred. This SHALL be the value of that read point’s ReadPoint.Name element.

The FailedKillCount field SHALL carry the value of AntennaReadPoint.FailedKillCount element after the kill failure occurred.

conditional This is optional. See command list.

6.1.6 FailedLockAlarm The ReadPointName field identifies the read point (an AntennaReadPoint) over which the lock failure occurred. This SHALL be the value of that read point’s ReadPoint.Name element.

The FailedMemReadCount field SHALL carry the value of AntennaReadPoint.FailedMemReadCount element after the read failure occurred.

conditional This is optional. See command list.

6.1.7

FailedMemReadAlarm The ReadPointName field identifies the read point (an AntennaReadPoint) over which the memory read failure occurred. This SHALL be the value of that read point’s ReadPoint.Name element. The FailedMemReadCount field SHALL carry the value of

conditional This is optional. See command list.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 20 of 38

AntennaReadPoint.FailedMemReadCount element after the read failure occurred.

6.1.8 TTOperStatusAlarm The FromState field SHALL identify the originating OperationalStatus before the Alarm is generated.

The ToState field SHALL identify the OperationalStatus at the time the Alarm is generated.

conditional This is optional. See command list.

6.1.8.1 ReaderDeviceOperStatusAlarm Compliant systems SHALL implement this alarm if AlarmChannel is implemented.

conditional This is optional. See command list.

6.1.8.2

IOPortOperStatusAlarm The IOPortName message field SHALL identify the name of the IO Port that experienced the alarm-triggering state transition, i.e., the value of the respective IOPort.Name model element. Compliant systems SHALL implement this alarm if AlarmChannel and IOPort are implemented.

conditional This is optional. See command list.

6.1.8.3

ReadPointOperStatusAlarm The ReadPointName message field SHALL identify the name of the Read Point that experienced the alarm-triggering state transition, i.e., the value of the respective ReadPoint.Name model element.

Compliant systems SHALL implement this alarm if AlarmChannel is implemented.

conditional This is optional. See command list.

6.1.8.4 SourceOperStatusAlarm The SourceName message field SHALL identify the name of the logical source that experienced the alarm-triggering state transition, i.e., the value of the respective Source.Name model element.

Compliant systems SHALL implement this alarm if AlarmChannel is implemented.

conditional This is optional. See command list.

6.1.8.5

NotificationChannelOperStatusAlarm The NotificationChannelName message field SHALL identify

the name of the notification channel that experienced the alarm-triggering state transition, i.e., the value of the respective NotificationChannel.Name model element.

Compliant systems SHALL implement this alarm if AlarmChannel and NotificationChannel are implemented.

conditional This is optional. See command list.

8.3 Command Errors

SHALL: The error code and/or error name. At least one of these fields SHALL be included in the Error structure. The exact contents depend on the binding, and SHALL be constant at the binding level, e.g. MTB X can be defined as always including the error code (but not the error name)

SHALL (where applicable): Information about the error cause. For example, for input parameter errors, information on which parameter failed needs to be included. Depending on the binding, this can be either the name or the index of the parameter. Vendor extensions are allowed here.

SHALL (where applicable): A vendor name or identifier for the responses to vendor-specific commands SHALL be given.

hard TCR17

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 21 of 38

9 Vendor Extensions Vendors SHALL use the error conditions defined above for the commands of the standard command set. Vendors CAN add additional information on the exact cause of the error.

These vendor-defined error conditions SHALL use names starting with <VENDOR>_ERROR…

hard By design

10 Message/Transport Bindings (MTBs) A compliant application SHALL implement at least one of the Message Formats and MAY implement more than one of the message formats. If a particular Message Format is implemented, the compliant application SHALL implement all of the operations labeled SHALL. If an operation is not supported, the Reader and/ or Host SHALL reply with ERROR_NOT_SUPPORTED.

hard By definition

10.4 SNMP MIB

In addition to compliance with the EPC Global Reader Management MIB, a compliant system that supports the SNMP binding SHALL implement support for the following IETF-standardized MIB groups:

the MIB-II System Group defined in the SNMPv2-MIB module, defined in RFC 3418,

the MIB-II IP Group, defined in the IP-MIB module, RFC 2011,

the MIB-II Interfaces Group, defined in IF-MIB module, RFC 2863

Protocol support for the management of Alarm Channels is optional; however, if a reader vendor chooses to support SNMP-based management of Alarm Channels, the vendor SHALL do so by implementing the SNMP-TARGET-MIB module, defined in RFC 3413.

conditional Binding specific

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 22 of 38

9 Test Case Requirements (TCR) 201 202

203 204

205 206

The test cases mentioned in this section are the mandatory requirements only. For optional requirements, the test case naming and description are left upto the test lab.

9.1 Requirement command get/setDescription (TCR1)

TPId: TCR-1

Test Purpose: This test case verifies the implementation of the get/setDescription command.

Requirements Tested:

Pre-test conditions:

• The ReaderDevice Description attribute is set to NULL.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: String strDecr = ReaderDevice.getDescription();

ASSERT( strDescr == “” );

The reader should return an empty description.

3 Call command: ReaderDevice.setDescription( “RM1” );

The reader should return without an error.

4

Call command: String strDecr = ReaderDevice.getDescription();

ASSERT( strDescr == “RM1” );

The reader should return a description with the value “RM1”.

207

208 209

9.2 Requirement command get/setLocationDescription (TCR2)

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 23 of 38

TPId: TCR-2

Test Purpose: This test case verifies the implementation of the get/setLocationDescription command.

Requirements Tested:

Pre-test conditions:

• The ReaderDevice LocationDescription attribute is set to NULL.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: String strLocDecr = ReaderDevice.getLocationDescription();

ASSERT( strLocDescr == “” );

The reader should return an empty location description.

3 Call command: ReaderDevice.setLocationDescription( “Store1” );

The reader should return without an error.

4

Call command: String strLocDecr = ReaderDevice.getLocationDescription();

ASSERT( strLocDescr == “Store1” );

The reader should return a location description with the value “Store1”.

210

211 212

9.3 Requirement command get/setContact (TCR3)

TPId: TCR-3

Test Purpose: This test case verifies the implementation of the get/setContact command.

Requirements Tested:

Pre-test conditions:

• The ReaderDevice Contact attribute is set to NULL.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 24 of 38

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: String strContact = ReaderDevice.getContact();

ASSERT( strContact == “” );

The reader should return an empty contact.

3 Call command: ReaderDevice.setContact( “Boss” );

The reader should return without an error.

4

Call command: String strContact = ReaderDevice.getContact();

ASSERT( strConatct == “Boss” );

The reader should return a contact with the value “Boss”.

213

214 215

9.4 Requirement command getSerialNumber (TCR4)

TPId: TCR-4

Test Purpose: This test case verifies the implementation of the getSerialNumber command.

Requirements Tested:

Pre-test conditions:

• None

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2 Call command: String strSerial = ReaderDevice.getSerialNumber();

The reader should return its vendor defined serial number.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 25 of 38

216

217 218

9.5 Requirement command getOperStatus (TCR5)

TPId: TCR-5

Test Purpose: This test case verifies the implementation of the getOperStatus command.

Requirements Tested:

Pre-test conditions:

• None

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: OperationalStatus oOperStat = ReaderDevice.getOperStatus();

The reader should return its current operational status. If the reader is fully up the value should be “UP”. If any component of the reader is down, the aggregating status of the reader device should be “OTHER”. If the reader device is down the value should be “DOWN”.

219

220 221

9.6 Requirement command getIOPort (TCR6)

TPId: TCR-6

Test Purpose: This test case verifies the implementation of the getIOPort command.

Requirements Tested:

SNMP Testing Note: SNMP does not provide a mechanism to directly query for an object to be queried by name. For the SNMP test, the entire IOPort table should be queried using SNMP get and getnext operations, and the association of the name to the port done by the test suite with the results of the table query.

Pre-test conditions:

• The reader has an IOPort with the name e.g. “Input1”.

Step Step description Expected results

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 26 of 38

1 Power on the reader. Wait till reader boot up finished.

2

Call command: IOPort *pIoPort = ReaderDevice.getIOPort( “Input1” );

The reader should return its IOPort object with the name “Input1”. If the reader returns an error stop the test case at this point.

3 Verify the IOPort Object: ASSERT(pIoPort->getName()==“Input1”)

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 27 of 38

222

223 224

9.7 Requirement command getAllIOPorts (TCR7)

TPId: TCR-7

Test Purpose: This test case verifies the implementation of the getAllIOPorts command.

Requirements Tested:

SNMP Testing Note: SNMP does not provide a mechanism to directly query for a list by name. For the SNMP test, the entire IOPort table should be queried using SNMP get and getnext operations, and the list of names generated by the test suite with the results of the table query.

Pre-test conditions:

• None

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2 Call command: IOPort *pIoPortList[] = ReaderDevice.getAllIOPorts();

The reader should return all IOPorts objects it supports. If the reader do not support IOPorts an empty list should be returned.

225

226 227

9.8 Requirement command resetStatistics (TCR8)

TPId: TCR-8

Test Purpose: This test case verifies the implementation of the resetStatistics command.

Requirements Tested:

Pre-test conditions:

• A single tag in front of Antenna 1.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 28 of 38

2 Perform a single read cycle on Antenna1 with a single tag in front of the antenna.

3

Call command: Int iReadCount = Antenna1.getIdentificationCount();

ASSERT( iReadCount == 1 );

The reader should return the value of 1 for the identification count on antenna 1.

4 Call command: ReaderDevice.resetStatistics();

The reader should return with no error.

5

Call command: Int iReadCount = Antenna1.getIdentificationCount();

ASSERT( iReadCount == 0 );

The reader should return the value of 0 for the identification count on antenna 1.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 29 of 38

228

229 230

9.9 Requirement command getName (TCR9)

TPId: TCR-9

231

232 3

9.10 Requirement command getClassName (TCR10) 23

TPId: TCR-10

Test Purpose: This test case verifies the implementation of the getClassName command.

Requirements Tested:

SNMP Testing Notes: SNMP requires that the data structures for different types of ReadPoints be predefined. As such, an SNMP management system would have to know a priori what ReadPoint class it is querying for. Because of this, an explicit ClassName attribute is redundant for SNMP. The conformance test should ensure that the antenna with the name “Antenna1” has an entry in the epcgAntennaReadPoint table.

Pre-test conditions:

• The reader has an antenna with the name Antenna1.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: String strClName = Antenna1.getClassName();

ASSERT(strClName==“AntennaReadPoint”);

The reader should return a string with the value “AntennaReadPoint”.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 30 of 38

234

236 9.11 Requirement command get/setDescription (TCR11) 235

TPId: TCR-11

Test Purpose: This test case verifies the implementation of the get/setDescription command.

Requirements Tested:

Pre-test conditions:

• The reader has an antenna with the name Antenna1

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: String strDecr = Antenna1.getDescription();

ASSERT( strDescr == “” );

The reader should return an empty description.

3 Call command: Antenna1.setDescription( “Ant1” );

The reader should return without an error.

4

Call command: String strDecr = Antenna1.getDescription();

ASSERT( strDescr == “Ant1” );

The reader should return a description with the value “Ant1”.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 31 of 38

23 7

239 0

9.12 Requirement command get/setAdminStatus and 238 getOperStatus (TCR12)

24

TPId: TCR-12

Test Purpose: This test case verifies the implementation of the get/setAdminStatus and getOperStatus command.

Requirements Tested:

Pre-test conditions:

• The reader has an antenna with the name Antenna1 and Antenna2.

• The reader has a source with name Source1.

• The read point Antenna1 is not attached to Source1.

• The read point Antenna2 is attached to Source1 and is Operational UP.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2 Call command: Antenna1.setAdminStatus(AdministrativeStatus.UP);

The reader should return no error.

3

Call command: AdministrativeStatus adminStat = Antenna1.getAdminStatus();

ASSERT( adminStat == AdministrativeStatus.UP );

The reader should return the administrative status with the value up as set before.

4

Call command: OperationalStatus opStat = Antenna1.getOperStatus();

ASSERT( opStat == OperationalStatus.DOWN );

The reader should return the operational status with the value down, because the antenna is not attached to a source.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 32 of 38

5

Attach the antenna1 to source1. Attach the read point antenna1 to the source1. The commands for this operations are out of scope for this document and can be done e.g. by reader protocol commands.

6

Call command: OperationalStatus opStat = Antenna1.getOperStatus();

ASSERT( opStat == OperationalStatus.UP );

The reader should return the operational status with the value up, because the antenna is now attached to a source.

7

Call command: OperationalStatus opStat1 = Antenna1.getOperStatus();

OperationalStatus opStat2 = Source1.getOperStatus();

OperationalStatus opStat3 = ReaderDevice.getOperStatus();

ASSERT( opStat1 = OperationalStatus.UP );

ASSERT( opStat2 = OperationalStatus.UP );

ASSERT( opStat3 = OperationalStatus.UP );

The reader should return the operational status for the antenna1, source1 and the reader device with the value up.

8 Call command: Antenna1.setAdminStatus(AdministrativeStatus.DOWN);

The reader should return no error.

9

Call command: OperationalStatus opStat1 = Antenna1.getOperStatus();

OperationalStatus opStat2 = Source1.getOperStatus();

OperationalStatus opStat3 = ReaderDevice.getOperStatus();

ASSERT( opStat1 = OperationalStatus.DOWN );

ASSERT( opStat2 = OperationalStatus.OTHER );

ASSERT( opStat3 = OperationalStatus.OTHER );

The reader should return the operational status for the antenna1 with value down, for source1 and the reader device with the value other. The value other on the source and reader device states the aggregation status of the operational status over objects.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 33 of 38

10

Call command: AdministrativeStatus adminStat = Source1.getAdminStatus();

ASSERT( adminStat == AdministrativeStatus.UP );

The reader should return the administrative status with the value up for the source1.

11 Call command: Source1.setAdminStatus(AdministrativeStatus.DOWN);

The reader should return no error.

12

Call command: OperationalStatus opStat1 = Antenna1.getOperStatus();

OperationalStatus opStat2 = Source1.getOperStatus();

OperationalStatus opStat3 = ReaderDevice.getOperStatus();

ASSERT( opStat1 = OperationalStatus.DOWN );

ASSERT( opStat2 = OperationalStatus.DOWN );

ASSERT( opStat3 = OperationalStatus.OTHER );

The reader should return the operational status for the antenna1 and source1 with value down, for the reader device with the value other. The value other on the reader device states the aggregation status of the operational status over objects.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 34 of 38

241

242 243

9.13 Requirement command getIdentificationCount (TCR13)

TPId: TCR-13

Test Purpose: This test case verifies the implementation of the getIdentificationCount command.

Requirements Tested:

Pre-test conditions:

• A single tag in front of Antenna 1.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: Int iReadCount = Antenna1.getIdentificationCount();

ASSERT( iReadCount == 0 );

The reader should return the value of 0.

3 Perform a single read cycle on Antenna1 with a single tag in front of the antenna.

4

Call command: Int iReadCount = Antenna1.getIdentificationCount();

ASSERT( iReadCount == 1 );

The reader should return the value of 1 for the identification count on antenna 1.

244

245 246

9.14 Requirement command getWriteCount (TCR14)

TPId: TCR-14

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 35 of 38

Test Purpose: This test case verifies the implementation of the getWriteCount command.

Requirements Tested:

Pre-test conditions:

• A single tag in front of Antenna 1.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: Int iWriteCount = Antenna1.getWriteCount();

ASSERT( iWriteCount == 0 );

The reader should return the value of 0.

3 Perform a single write on Antenna1 with a single tag in front of the antenna.

The write should succeed.

4

Call command: Int iWriteCount = Antenna1.getWriteCount();

ASSERT( iWriteCount == 1 );

The reader should return the value of 1 for the write count on antenna 1.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 36 of 38

247

248 249

9.15 Requirement command getKillCount (TCR15)

TPId: TCR-15

Test Purpose: This test case verifies the implementation of the getKillCount command.

Requirements Tested:

Pre-test conditions:

• A single tag in front of Antenna 1.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: Int iKillCount = Antenna1.getKillCount();

ASSERT( iKillCount == 0 );

The reader should return the value of 0.

3 Perform a single kill on Antenna1 with a single tag in front of the antenna.

The kill should succeed.

4

Call command: Int iKillCount = Antenna1.getKillCount();

ASSERT( iKillCount == 1 );

The reader should return the value of 1 for the kill count on antenna 1.

250

251 252

9.16 Requirement command getEraseCount (TCR16)

TPId: TCR-16

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 37 of 38

Test Purpose: This test case verifies the implementation of the getEraseCount command.

Requirements Tested:

Pre-test conditions:

• None

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

Reader Management (RM 1.0.1) Conformance Requirements Specification

Copyright ©2006, 2007 EPCglobal®, All Rights Reserved. Page 38 of 38

253

254

9.17 Requirement for a failed command behavior (TCR17)

TPId: TCR-17

Test Purpose: This test case verifies the behavior of a failed command call.

Requirements Tested:

SNMP Testing Notes: SNMP does not provide a mechanism to query an object directly by name. In this case, a get query should be issued for the epcgIOPort table for an index which is known to not be defined in the table.

Pre-test conditions: • None.

Step Step description Expected results

1 Power on the reader. Wait till reader boot up finished.

2

Call command: ReaderDevice.getIOPort(“UnknownIoPortName”);

The reader should return an error “ERROR_IOPORT_NOT_FOUND”. The return value “report” is undefined in this case and depends on the binding which is used. For example: An XML binding would not return a return value for the command, it will return in the binding the error only.

255

256

257

258 259

260

10 References

[W3C-Conformance] D. Dardailler, “Conformance Testing and Certification Model for W3C Specifications,” W3C Note, http://www.w3.org/QA/2002/01/Note-qa-certif-261 20020102.html, January 2002. 262

263 264

[RM Spec] EPCglobal, The Reader Management (RM) Specification 1.0.1, May 31, 2007