Configuration Framework
From MARIEWiki
Contents |
[edit]
Unified Data Structure
The Configuration Framework offers a data structure representing a generalization of configuration description used to create specialized configuration descriptions. The data structure is a hierarchical tree-based structure using Composite and Visitor patterns. The main goals of this framework is to unify configuration representation for all components and to be able use any implementation languages and/or technologies (XML, Tab Separated Values, HTML, etc.).

Four types of nodes, called configuration elements, are available :
- Configuration : Composite configuration element that gives a name to a current configuration structure and contains other configuration elements.
- Type : Composite configuration element that represents a type contained in the component's description domain. A type element can be composed of multiple configuration elements.
- Qualifier : Composite configuration element that represents an attribute for refining configuration element semantics. It can be useful to categorize or discriminate configuration elements from each other. A qualifier element can be applied on any other configuration element.
- Key-Value : Primitive configuration element that identifies a specific property of an object. The configuration element is represented by a label (Key) and have a value (Value).
[edit]
Configuration Description Language
This is a tentative description language to have a way to represent specialized configuration structures.
[edit]
Symbols
Prefix
# Mandatory 'one and only one' ! Mandatory '1 to many' o Optional 'one and only one' * Optional '0 to many' X-X Numbers of instance required. X are to be replaced by numbers or 'N' for any number
Type
C Configuration KV Key-Value Q Qualifier T Type
[edit]
Format
| Prefix (bold) | Type (bold) | Name |
- Elements contained in a composite element are to be indented (3 spaces)
[edit]
Examples
Here's an example of a Port type configuration description :
# T port
# KV type
# KV name
# KV connectionName
# T cs
o Q receiveCFBs
* T cfb
o Q sendCFBs
* T cfb
o KV datatype
o KV description

