# General Environment Description Language
## 5 Conceptual System and Its Elements
### Features  
**Definition 5**. : _A feature oF is a JSON object representing a distinguished property of an object in the environment. The feature is:_  
```
1{
2\"name\":oFName,
3\"description\":oFDescription,
4\"domain\":oFDomain,
5\"default\":oFDefault,
6\"unit\":oFUnit,
7\"normalizationFunction\":oFNormalizationFunction,
8\"initFunction\":oFInitFunction
9}
```  
_where:_  
* _oFName_--_a JSON string containing the name of a feature uniquely identifying the feature,_
* _oFDescription_--_a JSON string containing the description defining the meaning of the feature (optional),_
* _oFDomain_--_a JSON object describing a set of values that the feature can take. The domain contains:_  
```
1{
2\"set\":oFDSet,
3\"min\":oFDMin,
4\"max\":oFDMax
5}
```  
_where:_* _oFDSet--a set of values:_
* _for measurable values (quantitative) it can be a JSON string containing the name of an earlier defined set, for example: real, integer, float numbers etc.,_
* _for non-measurable values it can be a JSON array containing a set of acceptable values of the feature, where aFDSet is a finite set of values used as a dictionary, for example for a blood type aFDSet_\(o=(\)'0','A','B','AB'\()\). * _oFDMin--a JSON string or number containing a minimal value of this feature (optional),_
* _oFDMax--a JSON string or number containing a maximal value of this feature (optional),_ \(oFDomain=oFDSet\times oFDMin\times oFDMax\)_._
* _Let_\(oFDomain^{o}=(oFDSet^{o},oFDMin^{o},oFDMax^{o})\) _and_\(oFDomain^{o}\in oFDomain\)_. A set of values_\(oFDomain^{o}\) _is defined by_\(oFDDomain^{o}=\{x:x\in oFDSet^{o}\wedge x\geq oFDMin^{o}\wedge x\leq oFDMax^{o}\}\)_. If_\(oFDMin^{o}\) _and_\(oFDMax^{o}\) _are not fixed (defined), then_\(oFDDomain^{o}=\{x:x\in oFDSet^{o}\}\)_._
* _oFDefault--a JSON string or number containing a default value of the feature if it is not specified (optional),_
* _oFUnit--a JSON string containing a unit of the value (optional),_
* _oFNormalizationFunction--a JSON string containing a source code written in a programming language, containing a normalization function that returns a normalized value of the feature; it can be useful while choosing the optimal solution (optional),_
* _oFUnitFunction--a JSON string containing a source code written in a programming language, containing a function that can calculate the value of a feature, based on the value of signals from an individual sensor or based on the value of other features (optional)._ \(oF=oFName\times oFDescription\times oFDomain\times oFDefault\times oFUnit\times oFNormalizationFunction\times oFInitFunction,\) \(oF0\in oF,oF^{o}\in\widehat{aF^{o}},aF^{o}=elem(oCS^{o},aF),oCS^{o}=elem(IK^{o},oCS), IK^{o}\in IK\)_._ Examples of two features--tastiness and bloodGroup:  
```
1{
2\"name\": \"tastiness\"
3\"description\": \"thes sensation of flavour perceived in the mouth
4 and throatoncontact with a substance\",
5\"domain\":{
6\"set\": \"Real\",
7\"min\": 0,
8\"max\": 1,
9}
10\"default\": 0
11},
12{
13\"name\": \"bloodGroup\"
14\"description\": \"any of various classes into which human blood
15 can be divided according to immunological compatibility, based
16 onthepresenceor absence of specific antigens onred blood
17 cells.\",
18\"domain\":{
19\"set\": [\"0\", \"A\", \"B\",\"AB\"]
20},
21\"default\": \"0\"

### Feature Sets

**Definition 6**. : _A feature set \(oFS\) is a \(|\)SON object grouping a collection of features under one name. The feature set groups features.