150 likes | 237 Views
LBTO Common Software. August 15, 2006 Chris Biddick. 1 cjb. Introduction. Common software elements: CommandReturn CommandSequencer Core DataDictionary (*) EventHandler (*) NetworkConfig ReflectiveMemory (*) RPC SetValue (*) TelemetryClient Reference document: 481s501
E N D
LBTO Common Software August 15, 2006 Chris Biddick 1 cjb
Introduction • Common software elements: • CommandReturn • CommandSequencer • Core • DataDictionary (*) • EventHandler (*) • NetworkConfig • ReflectiveMemory (*) • RPC • SetValue (*) • TelemetryClient • Reference document: 481s501 (*) data dictionary 2 cjb
CommandReturn • Standard return object for client commands • Indicates success or failure • May contain • Strings • Other CommandReturn objects • Event descriptions • Serialized object (XML) is returned 3 cjb
CommandSequencer • Commands from client to subsystem • Layer above lower level RPC • Supports • Status of command • Block on command • Results of command • Subsystem reference 481s008 4 cjb
Core • ArgumentList • Used to pass arguments from client to subsystem • BitArray • Supports arrays of packed bits and bit fields • Configuration • Reads parameters from LBT.conf 5 cjb
Core (cont) • Conversions • Provides unit conversions • LoadMonitor • Used when starting subsystems • Shm • Supports access to shared memory segments • Socket • Socket support 6 cjb
Core (cont) • Signal • Simple signal handling • Synchronization (IMutex, MsgQueue, PMutex, Semaphore) • Provides mutexes, semaphores and condition synchronization • SysLog • syslog support 7 cjb
Core (cont) • System • Gets IP addresses and PIDs • SystemClock • Get time, MJD, calendar time; do delays • Thread • Support for POSIX threads in TCS context • XML support • Xerces based XML parsing 8 cjb
DataDictionary • Supports reflective memory and events • Writing (ddsconfig) and reading binary definition files 9 cjb
EventHandler • Event class • Logs events to local flat file • Interfaces with the LSS 10 cjb
NetworkConfig • Handles starting/stopping TCS networks and subsystems • netconfig • networkserver 11 cjb
ReflectiveMemory • Reflective memory network support • gshmconfig • gshmserver 12 cjb
RPC • Underlying layer for all TCS communications • rpcconfig • rpcserver • RPC class 13 cjb
SetValue • Reads and writes from/to reflective memory • Gtype class • SetValueInterface class • Provides reflective memory write protection • Only owning subsystem may write its memory • Metadata retrieval 14 cjb
TelemetryClient • Hook for subsystems to interface to the TEL subsystem • startStream 15 cjb