Astronomical Data Analysis Software and Systems (ADASS) XIII · 2004 · 10 citations · 0 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureHardware-software Co-designSystems ArchitectureControl Unit DesignEmbedded Software DesignEmbedded Systems ArchitectureEmbedded Systems DesignAbstractionCan BusCommunication Bus DesignHardware AbstractionHardware Abstraction InterfaceHardware Abstraction Layer DesignHardware Abstraction LayersHardware-software Interface Design
The ALMA Common Software (ACS) is a CORBA-based framework that provides a common and homogeneous infrastructure for the whole ALMA software, from high-level data flow applications down to instrument control [O8-1]. This paper focuses on ACS support for the development of Control System applications. In this domain, ACS provides a generic abstraction of hardware control and monitor points that is independent of the software underneath. This abstraction layer is coupled to the hadware using the DevIO (Device Input/Output) interface, based on the Bridge design pattern. Application developers have to implement DevIO classes that handle the details of the communication with the hardware. ACS itself provides a default DevIO implementation which simply writes and reads into/from a memory location. Currently there are two other major DevIO implementations available: a CAN bus communication, used by ALMA, and a socket based implementation used by the Atacama Pathfinder EXperiment (APEX) project.