Rationale » History » Version 5

J. Wienke, 10/05/2011 04:34 PM

1 1 J. Wienke
h1. Structure Proposal
2 1 J. Wienke
3 1 J. Wienke
h2. Requirements
4 1 J. Wienke
5 2 J. Wienke
In general, the following requirements try to enforce the general *reusability* of data types.
6 2 J. Wienke
7 2 J. Wienke
* *Visibility*: Data definitions must be easily visible when searching for them to foster reuse. This includes:
8 1 J. Wienke
** Folder browsing
9 1 J. Wienke
** Code completion
10 2 J. Wienke
* *Structuredness*: A structured view on the data is required as an orthogonal perspective to the general visibility in order to find functionally coherent groups of data definitions.
11 2 J. Wienke
* *Stability*: A core set of data definitions must be kept stable as much as possible in order to shield depending software from frequent changes.
12 2 J. Wienke
* *Extendability*: New data type definitions are constantly required. Adding them to the repository must have a low barrier to motivate data type sharing.
13 2 J. Wienke
* *Addressability*: A certain revision of a data type must be uniquely addressable and accessible in order to conserve system states.
14 3 J. Wienke
* *Practicability*: Data type definitions must be usable in an efficient manner in all target languages. This includes also the use of languages where IDL definitions are parsed at runtime and not compiled statically.
15 3 J. Wienke
16 3 J. Wienke
h2. Proposed Solution
17 4 J. Wienke
18 4 J. Wienke
h3. Packaging
19 4 J. Wienke
20 4 J. Wienke
* RST will be split into two separate libraries. Both libraries will be built by the same build-system and use the same naming and structure conventions.
21 5 J. Wienke
** RST: stable data type definitions
22 5 J. Wienke
** RST-beta: new data type definitions which may be modified constantly
23 4 J. Wienke
24 1 J. Wienke
h3. Data Type Integration Procedure
25 1 J. Wienke
26 5 J. Wienke
* New data types can be added by every developer to the beta library using a specified _style guide_.
27 5 J. Wienke
* The RST team will merge the data types from beta to stable from time to time. During this process modifications to the data are explicitly allowed in order to meet the style and quality requirements of the stable library.
28 5 J. Wienke
29 5 J. Wienke
h3. Structure
30 4 J. Wienke
31 4 J. Wienke
h2. Addressed Requirements
32 4 J. Wienke
33 4 J. Wienke
h2. Identified Drawbacks
34 4 J. Wienke
35 4 J. Wienke
* Python naming of modules