CERN -> IPT Group -> FrameMaker at CERN
Information Service User's Guide

Preface


T his document is the user's guide for the Information Service (IS) component of the ATLAS TDAQ Online Software system [1]. The Information Service is used to share information between applications in a distributed environment. This document gives an overview of the IS, describes the functionality it is providing, and gives instructions for how to use the C++ IS Application Program Interface (API).

The Java API is not discussed in this document, but it is very similar to the C++ one and is based on the same principals. The full IS Java API reference manual is available as part of the Online Software release in the <online software release directory>/share/doc/is/javadoc/is directory. This directory contains files generated by the javadoc utility. The main entry point to the documentation is the index.html file. The same information is also available online from the Information Service home page [2].

This document has been prepared by Serguei Kolos (Serguei.Kolos@cern.ch) and is based on the IS implementation developed in the context of the Online Software system of the ATLAS TDAQ project [3].

Outline


Preface
Outline
Contents
Chapter 1
Introduction
Chapter 2
Basic functionality
Chapter 3
User-defined information types
Chapter 4
Type of IS information
Chapter 5
Subscribing to the IS repository
Chapter 6
Browsing the IS repository
Chapter 7
Reading information with unknown structure
Chapter 8
Sending and Receiving commands
Chapter 9
Reading information type description
Chapter 10
Building and running IS applications
Chapter 11
IS Utilities
Chapter 12
C++ API: Class Reference
Rules for the IS information declaration
C++ information classes based on the ISInfo
C++ information classes based on the ISNamedInfo
Mapping between OKS and IS types
 
Bibliography
 
Index

 

Contents


Outline

Contents


Chapter 1

Introduction

1.1.1 Architecture
1.1.2 Implementation


Chapter 2

Basic functionality

2.2 Publishing and updating information
2.2.1 Creating information in the IS
2.2.2 Replace the last information value
2.2.3 Update information using history mode
2.3 Reading simple information
2.3.1 Getting the last value of the information
2.3.2 Getting information history


Chapter 3

User-defined information types

3.2 Defining new information type
3.3 Generating programming language declarations
3.4 Two types of the IS information classes
3.5 Using custom information types
3.5.1 Using classes based on the ISInfo
3.5.2 Using classes based on the ISNamedInfo


Chapter 4

Type of IS information

4.2 Getting information object type
4.3 Reading Object types from IS repository
4.4 Information type operations


Chapter 5

Subscribing to the IS repository

5.2 Subscribe for a single information
5.3 Subscribe using criteria
5.3.1 How to define criteria
5.3.2 How to subscribe using criteria
5.4 Subscription modes


Chapter 6

Browsing the IS repository

6.2 Using the IS server iterator
6.3 Using the IS information iterator
6.4 Using extended criteria for information iterator


Chapter 7

Reading information with unknown structure

7.2 Using ISInfoAny class to print out information
7.3 Parsing content of the ISInfoAny object


Chapter 8

Sending and Receiving commands

8.2 Implementing IS command listener
8.3 Sending commands to information providers


Chapter 9

Reading information type description

9.2 Setting up the IS meta-information repository
9.3 Reading the IS type description
9.4 Reading all available IS types descriptions


Chapter 10

Building and running IS applications

10.1.1 Information Provider example application
10.1.2 IS reader example application
10.1.3 Makefiles
10.1.4 Compiling examples
10.2 Running IS examples
10.3 Troubleshooting Tips
10.3.1 IS server errors
10.3.2 Information Provider errors
10.3.3 Information reader errors


Chapter 11

IS Utilities

11.1.1 Information listing application (is_ls)
11.1.2 Commander application (is_cmd)
11.1.3 Information remover application (is_rm)
11.2 Graphical utility


Chapter 12

C++ API: Class Reference

12.1 ISCallbackEvent
12.2 ISCallbackInfo
12.3 ISCommandListener
12.4 ISCriteria
12.5 ISInfo
12.6 ISInfoAny
12.7 ISInfoDictionary
12.8 ISInfoDocument
12.9 ISInfoDocument::Attribute
12.10 ISInfoDocument::Iterator
12.11 ISInfoIterator
12.12 ISInfoProvider
12.13 ISInfoReceiver
12.14 ISInfoT<T>
12.15 ISNamedInfo
12.16 ISServerIterator
12.17 ISType
12.18 ISistream
12.19 ISostream

Rules for the IS information declaration

A.1.1 Example
A.1.2 Explanation
A.2 IS Information in Java
A.2.1 Example
A.2.2 Explanation

C++ information classes based on the ISInfo

B.1 Person class
B.2 Employee class

C++ information classes based on the ISNamedInfo

C.1 PersonNamed class
C.2 EmployeeNamed class

Mapping between OKS and IS types


Bibliography


Index


2 July 1998 - WebMaster
Copyright © CERN 1998