Fermilab Computing Division

CS Document 5721-v1

Configuration validation in art

Document #:
Document type:
Submitted by:
Kyle Knoepfel
Updated by:
Kyle Knoepfel
Document Created:
18 Apr 2016, 12:38
Contents Revised:
18 Apr 2016, 12:38
Metadata Revised:
18 Apr 2016, 12:38
Viewable by:
  • Public document
Modifiable by:

Quick Links:
Latest Version

One of the difficulties experimenters encounter when using a modular event-processing framework is determining the appropriate configuration for the workflow they intend to execute. A typical solution is to provide documentation external to the C++ code source that explains how a given component of the workflow is to be configured. This solution is fragile, because the documentation and the code will tend to diverge. A better solution is to implement a configuration-checking system that is embedded into the C++ code source itself. With modern C++ techniques, it is possible to cleanly (and concisely) implement a configuration-validation system that self-documents an allowed configuration and validates and provides access to a user-provided configuration. I will be presenting such a system as implemented in the art framework. The techniques used, however, can be applied to any system that represents a user-provided configuration as a C++ object.
Files in Document:
Associated with Events:
CHEP 2016 held from 10 Oct 2016 to 14 Oct 2016 in San Francisco
DocDB Home ]  [ Search ] [ Authors ] [ Events ] [ Topics ]

DocDB Version 8.8.9, contact Document Database Administrators