Quick OPC UA Server Generation Framework
quasar generates complete OPC UA servers from a single Design XML file. From that design it produces C++ address space classes, device logic scaffolding, configuration parsing, and a CMake build system – so you focus on your device logic, not boilerplate.
Developed at CERN, quasar is used across multiple laboratories and experiments to build reliable control and monitoring systems.
git clone --recursive https://github.com/quasar-team/quasar
The --recursive flag is required – quasar uses LogIt as a git submodule.
./quasar.py set_build_config <path/to/config.cmake>
./quasar.py build
./build/bin/OpcUaServer --config_file bin/config.xml
Design/Design.xml
|
v
DesignInspector (xpath) + Oracle (type mappings)
|
v
Jinja2 templates (23 transforms)
|
v
Generated C++ source (AddressSpace, Device bases, Configuration, CMake)
Design.xml is the single source of truth. Generated code goes into AddressSpace/, Device/generated/, and Configuration/. User-owned device logic lives in D<Class> files which are never overwritten.
Full documentation is available at quasar.docs.cern.ch, covering the design manual, command reference, build system, and video tutorials.
This project is licensed under the GNU Lesser General Public License v3.0. See LICENSE for details.
Primary contact: quasar-developers@cern.ch