03.01.2014 Views

The Application Level Events (ALE) Specification, Version 1.0 - GS1

The Application Level Events (ALE) Specification, Version 1.0 - GS1

The Application Level Events (ALE) Specification, Version 1.0 - GS1

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

388<br />

389<br />

390<br />

391<br />

392<br />

393<br />

394<br />

395<br />

396<br />

397<br />

398<br />

399<br />

400<br />

401<br />

402<br />

403<br />

404<br />

405<br />

406<br />

407<br />

408<br />

409<br />

410<br />

411<br />

412<br />

413<br />

414<br />

415<br />

416<br />

417<br />

418<br />

419<br />

420<br />

421<br />

422<br />

423<br />

424<br />

425<br />

client specifies the reports, and the implementation of the API decides where best to carry<br />

out the requested filtering.<br />

5 Group Reports<br />

Sometimes it is useful to group EPCs read during an event cycle based on portions of the<br />

EPC or attributes of the objects identified by the EPCs. For example, in a shipment<br />

receipt verification application, it is useful to know the quantity of each type of case (i.e.,<br />

each distinct case GTIN), but not necessarily the serial number of each case. This<br />

requires slightly more complex processing, based on the notion of a grouping operator.<br />

A grouping operator is a function G that maps an EPC code into some sort of group<br />

code g. For example, a grouping operator might map an EPC code into a GTIN group, or<br />

simply into the upper bits (manufacturer and product) of the EPC. Other grouping<br />

operators might be based on other information available on an EPC tag, such as the filter<br />

code that implies the type of object (i.e., pallet, case, item, etc.).<br />

<strong>The</strong> notation S↓g means the subset of EPCs s1, s2, … in the set S that belong to group g.<br />

That is, S↓g ≡ { s in S | G(s) = g }.<br />

A group membership report for grouping operator G is a set of pairs, where the first<br />

element in each pair is a group name g, and the second element is the list of EPCs that<br />

fall into that group, i.e., S↓g.<br />

A group cardinality report is similar, but instead of enumerating the EPCs in each group,<br />

the group cardinality report just reports how many of each there are. That is, the group<br />

cardinality report for grouping operator G is a set of pairs, where the first element in each<br />

pair is a group name g, and the second element is the number of EPCs that fall into that<br />

group, i.e., |S↓g|.<br />

Formally, then, the reporting options from the last section are:<br />

• Whether to report<br />

• A group membership (group list) report for one or more specified grouping<br />

operators Gi, which may include, and may possibly be limited to, the default<br />

(unnamed) group. In mathematical notation: { (g, F(R)↓g) | F(R)↓g is non-empty<br />

}.<br />

• A group cardinality (group count) report for one or more specified grouping<br />

operators Gi, which may include, and may possibly be limited to, the default<br />

(unnamed) group. In mathematical notation: { (g, |F(R)↓g|) | F(R)↓g is nonempty<br />

}.<br />

6 Read Cycle Timing<br />

<strong>The</strong> <strong>ALE</strong> API is intentionally silent about the timing of read cycles. Clients may specify<br />

the boundaries of event cycles, which accumulate data from one or more underlying read<br />

cycles, but the API does not provide a client with explicit control over the frequency at<br />

which read cycles are completed. <strong>The</strong>re are several reasons for this:<br />

Copyright © 2005, 2004 EPCglobal Inc, All Rights Reserved. Page 13 of 71

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!