Matthias Lampe Application-level system and tool support for auto-ID application development. PhD thesis No. 18787, ETH Zurich, Zurich, Switzerland, 2010 Abstract Radio Frequency Identification (RFID) systems have begun to find greater use in the consumer object identification market, in industrial automation, and in mobile asset and supply chain management, in a wide range of industries such as retail, pharmaceutical, and defense. The term automatic identification (Auto-ID) applications is used to generalize RFID applications and includes other Auto-ID technologies such as barcode or Bluetooth. More complex Auto-ID applications also use sensor technologies not only to identify objects but also to track their state (e.g. temperature sensors to ensure quality of perishable goods). Bridging the gap between the physical world of objects (e.g., products and logistical units) and the digital world of IT systems to improve existing business processes is the main driver of the widespread RFID adoption. However, even if the gap between the physical and the digital world is bridged, there is still a gap between applications or enterprise resource planning (ERP) systems on one side and Auto-ID systems on the other. Application developers are faced with several challenges: Instead of concentrating on the application or business logic they have to deal with Auto- ID specific details such as readers, tags, or specific error sources. They also have to duplicate code when developing a new application for capturing Auto-ID data from readers, for filtering and aggregating Auto-ID data to increase their accuracy, for providing persistent storage and querying capabilities, and for reacting to business events such as the arrival of a shipment. To facilitate the development of Auto-ID applications, this thesis provides concepts, programming models, building blocks and tools that abstract from Auto-ID specific details and provide the necessary services and the appropriate level of reuse. In particular, the contributions are: - An Auto-ID Object Model that abstracts from low-level Auto-ID and sensor concepts which provides the means for an application to model and represent its domain as the base for the application logic. The model focuses on the domain of Auto-ID applications, that is, applications whose application logic is based on an implicit or explicit model of the physical world and is triggered by (near) real time observations of the physical world through Auto-ID readers and sensors. - A state machine-based programming model that allows defining Auto-ID related micro business processes. Typically Auto-ID applications are not interested in all the dynamic changes of the observed physical objects. The business process definitions allow an Auto-ID application to integrate application logic into an Auto-ID infrastructure in order to only report exceptionally states related to the objects, their properties and relationships. - A visual tool-based approach to instantiate, configure and manage an Auto-ID infrastructure. Typically an Auto-ID infrastructure consists of many different hardware and software components that have to be customized to fit the need of a certain application domain. Such an instantiation and configuration is a tedious task and requires programming skills in addition to Auto-ID and application domain knowledge. The visual tool-based approach provides a concrete representation of the application domain and supports nonsoftware developers in the different tasks over the lifecycle of an Auto-ID infrastructure. The evaluation, based on a prototypical implementation of an Auto-ID Infrastructure called the Object Monitoring System (OMS) and on several representative case-studies, shows that the contributions of the thesis provide the right level of abstractions and services to facilitate the development of Auto-ID applications in several different application domains. The Auto-ID Object Model provides for an adequate representation of the application domains. The programming model allows defining a variety of Auto-ID related business processes in the application domains supporting fast processing of Auto-ID data in a business workflow. The visual tool-based approach proves to facilitate the instantiation, configuration and deployment of the Auto-ID infrastructures in the application domains especially for non-software developers. All in all, this thesis provides sound concepts and its contributions help to facilitate the development of Auto-ID applications, help to decrease development costs and, in general, contribute to the dissemination of Auto- ID technologies in industry and other areas of application.