1
Data Modelling in ASAM ODS
Presentation by Helmut J. Helpenstein, June 2005
2
ASAM ODS supports a particular way of storing data
xx
yy
Technical data
Meta information
Application A
Application B
3
Goals of ODS way• Combination of data and meta data• Meta data according to a Base Model
The Base Model• defines common attributes and relationships for all test
and measurement data• defines rules and methods how to derive customized
(application specific) data models from the ASAM ODS Base Model
4
Base Model and Application Model
basemodel
derivation applicationmodel
5
Application Model
It has several tasks:• support the application• express any wanted details in a recognizable way• enable clients to understand semantics
For each purpose the application model should use those constructs that are provided in the base model for that purpose.
Base model influences application model.Application model influences data.
6
Application Model and Data
applicationmodel
instantiation data
7
Constructs in the Base Model
• Hierarchical structurestests - measurements, equipments - devices, …
• Valuesapplication attributes, instance attributes, parameters
• Measurement datasubmatrices, local columns, value sequence
• References pointers to other elements• Groups
units, quantities, users
8
Hierarchical Structures
Parent entity has a set of references in a „children“ attribute (main browse direction)
Child entity has single reference in a „parent“ attribute (inverse direction)
Test Test
Test 'Test '
INV parentSET children
Test "Test "
INV parentSET children
MeasurementMeasurement
INV testSET measurements
. . . . .
9
Add a value to one or more instances
Application attribute: - is attached to ALL instances - easily recognizable by application - ideal for generic clientInstance attribute: - is attached to 1 instance - recognizable by application - acceptable for generic clientParameter: - has reference to 1 instance of specific type - requires special application model - not for use in generic clients
Entity A Attribute a
Instance A1InstAtt a1
Entity A
Parameter P
Instance A1
Instance P1
value
value
10
Measurement data
Application attribute: - recognizable by special application - single values
Instance attribute or Parameter: - extremely special
Local columns: - ODS way => easily recognizable by applications and generic clients - sequences of values - concept of submatrices to handle all measurement cases - dedicated entities
Entity A Attribute a
Instance A1InstAtt a1
Entity A
Parameter P
Instance A1
Instance P1
value
value
AoMeasurement
AoMeasurementQuantity AoSubmatrix
AoLocalColumn
11
Submatrices and value matrixSubmatrix smaTime MeaQ_A 0.1 xxx1 0.2 xxx2 0.3 xxx3 0.4 xxx4
Submatrix smbTime MeaQ_B 0.2 yyy1 0.24 yyy2 0.28 yyy3 0.32 yyy4 0.36 yyy5 0.4 yyy6
Value matrix Time MeaQ_A MeaQ_B 0.1 xxx1 0.2 xxx2 yyy1 0.24 yyy2 0.28 yyy3 0.3 xxx3 0.32 yyy4 0.36 yyy5 0.4 xxx4 yyy6
12
Base model for measurement values
BASEELEM AoMeasurement - name - id - measurement_quantities - submatrices
BASEELEM AoMeasurementQuantity - name - id - local_columns
BAESELEM AoSubmatrix - name - id - number_of_rows - local_columns
BASEELEM AoLocalColumn - name - id - sequence_representation - generation_parameters - values - external_component
seq_rep values gen_pars ext_compexplicit ximplicit_linear xraw_linear x xexternal_comp xraw_lin_ext x x
13
References / Relations In a model, each entity is determined by ist attributes.
In ASAM ODS application models, entities are called Application Elements, their attributes can contain values (numerical or text) or relations (references to other objects).
Example: In a directory there are some files.
APPLELEM directory - name (string) - id (integer) - files (set of file)
APPLELEM file - name (string) - id (integer) - home (directory)
c:\meyer\abc (177)
house.doc (29)
car.txt (56)
list.xls (115)
INSTELEM directory - "c:\meyer\abc" - 177 - 29,56,115INSTELEM file - "house.doc" - 29 - 177INSTELEM file - "car.txt" - 56 - 177INSTELEM file - "list.xls" - 115 - 177
14
Groups• An item belongs to
one or more groups
• A group has one or more items
• This is a many-to-many relationship (n:m)
BASEELEM AoUnit name (string) id (integer) groups (SET of AoUnitGroup) phys_dim (AoPhysicalDimension) factor (double) offset (double)
BASEELEM AoUnitGroup name (string) id (integer) units (SET of AoUnit)
AoUnit AoUnitGroup
15
Example of application model
TestBed (AoTest) | | Test (AoSubTest) | | | | | -----------------------------------+ | +--------------------+ | | | Engine (AoUnitUnderTest)Measurement (AoMeasurement) User (AoUser) | | test engineer | | User (AoUser)MeaQuantity (AoMeasurementQuantity) design engineer
16
Filtered data
TestBed Location="Aachen" | | Test Type="class C" | || | |-----------------+ | +-----+ | | | | Measurement | | Begin > 200502 | | | | | | | | Engine Fuel="Diesel" | | | NumberOfCylinders=5MeaQuantity | | | | test engineer | Description="Test Engineer" | Division="Block D" | (Test.Type="class C") | | | Description="Design Engineer" design engineer Division="Block D"
17
Select Measurements in DIAdem• Precondition: Modelling according to ODS way• Size of example data: 45 MB
many TestBeds, each with many Tests• Measurements can be imported with their
MeasurementQuantities• We want to find data in a limited set, described by
filtering with conditions - enabled by modelling in ODS way
• MeasurementQuantities can be displayed• Screenshots display the filtering process
18
19
20
21
22
Thank you for your attention.
Top Related