Configuration Framework

From MARIEWiki

Jump to: navigation, search

Contents

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.).


UMLConfiguration.jpg


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).


Configuration Description Language

This is a tentative description language to have a way to represent specialized configuration structures.

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

Format

Configuration Language Format
Prefix (bold) Type (bold) Name


  • Elements contained in a composite element are to be indented (3 spaces)

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

Personal tools