23.05.2014 Views

Athena Developer Guide

Athena Developer Guide

Athena Developer Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Athena</strong><br />

Chapter 9 Data dictionary Version/Issue: 2.0.0<br />

Chapter 9<br />

Data dictionary<br />

9.1 Overview<br />

In contrast to the other Chapters in this User <strong>Guide</strong>, this one does not describe existing functionality,<br />

but rather gives an preview to new functionality that will be made available in a future release. It<br />

describes the role, scope, and implementation of a "Data Dictionary" in the <strong>Athena</strong> Architecture. It is a<br />

condensation of a snapshot of a separate working document.<br />

9.1.1 Definition of Terms<br />

The term data dictionary is being used in ATLAS as a catch phrase for several related, but distinct<br />

concepts and techniques. We categorize these concepts into three general categories:<br />

• Introspection/Reflection/Object Description/Run-Time Typing<br />

This refers to objects in program memory with the ability to describe themselves in a<br />

programmatic way through a public API such that they can be manipulated without a priori<br />

knowledge of the specific class/type of the object.<br />

• Code Generation<br />

This refers to a process of generating code for performing a specific task from a generic<br />

description/input file.<br />

• Self-Describing External Data Representation (e.g. Data Files)<br />

This refers to external data representations (e.g. file formats, on-wire data formats) which<br />

contain metadata describing the payload of the data file, etc.<br />

Each of these concepts plays a different set of roles in an architecture dependent upon a data dictionary.<br />

NB: Throughout this document we will use the word object without (necessarily)<br />

referring to an actual instance of a C++/Java/other class. A potentially better phrase<br />

page 69

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!