  The new Data Acquisition system for the gravitational wave detector AURIGA
has been designed from the ground up in order to take advantage of hardware and
software platforms that became available in recent years; namely, i386
computers running Linux-based free software. This paper describes how advanced
software development technologies, such as Object Oriented design and
programming and CORBA infrastructure, were exploited to realize a robust,
distributed, flexible, and extensible system. Every agent of the Data
Acquisition System runs inside an heavyweight framework, conceived to
transparently take care of all the agents intercommunication, synchronization,
dataflow. It also presents an unified interface to the command and monitoring
tools. The DAQ logic is entirely contained in each agent's specialized code. In
the case of AURIGA the dataflow is designed as a three tier: frontend, builder,
consumer. Each tier is represented by a set of agents possibly running on
different hosts. This system is well fit for projects on scales comparable to
the AURIGA experiment: permanent and temporary data storage is based on the
Frame format adopted by the gravitational wave community, and the design is
reliable and fault-tolerant for low rate systems.
