ALE Tag Classes

From RifidiWiki

Revision as of 16:18, 2 December 2008 by Kyle (Talk | contribs)

Jump to: navigation, search

This document describes the design of the edge server tag data layer.

High Level

The purpose of the tag data layer serves three main purposes

  1. To provide a base set of classes that reader adapters can use to store tag reads and send them up to a higher layer in the edge server. In addition the the edge server can use these classes to store tag information which the reader adapters can use to write data to tags. This service is, for now, concerned with C1G2 and C1G1 tags.
  2. To provide the necessary algorithms to convert between various ID encodings and their representations. Currently this is primarily concerned with the EPC encodings such as SGTIN and GID. This service allows a bit string to be converted to a URN representation, for example.
  3. To provide hooks that allow some other aggregating, filtering, or reporting services to use the data that has been collected. For now this is primarily concerned with ALE.

It is important to note that these services, while now aimed at an implementation of EPC Gen1 and Gen2 tags and using ALE to aggregate and report data, are general enough to support future extensions. For example, it is possible to use ALE to report non-epc data that is not stored on a physical tag adhering to a EPCGlobal spec. Therefore the three main services are distinct and are loosely coupled.

Physical Tag Layer

The point of the physical tag layer is to provide some base abstractions to store data obtained from a tag read. The data at this level is raw -- the bits are not interpreted or encoded. It is intended to be easy to use by developers who are writing code that interacts with RFID readers to obtain tag reads. In addition it is intended to be extensible so that new physical tag models can be developed when needed. Below is a class diagram describing the physical tag layer in the edge server.

Class diagram of Physical Tag Layer
  • The TagData class represents a single tag read. It has two main data structures:
    • The model<code> represents the bits that were read
    • The <code>metainformation is a hashmap to store other information about the tag read, such as a timestamp, antenna number, and other information not stored on the tag itself, but which may be useful to a higher level application
  • The PhysicalTagModel is an abstract class that serves as a base class for

EPC Layer

ALE Layer

Packages

TagDataLayerPackages.png

org.rifidi.tags

org.rifidi.edge.tags.epc

org.rifidi.tags.encodings.epc

org.fosstrak.tdt

org.rifidi.edge.ale

org.rifidi.edge.tags.epc.ale

Use Cases

Reading a Tag

Writing data to a Tag

Personal tools