-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* start refactor predefined concepts
- Loading branch information
1 parent
5566a45
commit b5322bd
Showing
6 changed files
with
144 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Overview on organization of AASPE predefined concepts | ||
|
||
## General | ||
|
||
This projects hold a wealth of classes defining concepts, in particular | ||
semanticIds and class structures. These concepts could be used on | ||
*source code level* to avoid having semanticIds as sttring constants. | ||
|
||
Nearly everything here was produced by the export function: | ||
AASPE / File / Export / Export predefined concepts | ||
|
||
## Programmers note | ||
|
||
As many (!) classes and attributes are declared, these classes seem contribute | ||
significantly to the loading time of AASPE in general. Basically, these classes | ||
seem to be loaded on demand by the class loader. | ||
|
||
However, when using "Add predefined .." button in References dialogue, the user | ||
has to wait some 8sec for the first results, as *ALL* classes are firstly | ||
instantiated for this scan. | ||
|
||
## Concept model | ||
|
||
(Deprecated) approach to provide a switcher between different sets of concepts, | ||
here for some ZVEI models. | ||
|
||
## Convert | ||
|
||
Classes used to allow (automatic) converting between different versions of | ||
Submodels. Useful to define, when a large user basis is known to use an old | ||
version of a Submodel. | ||
|
||
## Definitions and Resources | ||
|
||
Classes providing `CD_xxx` references having constant semanticId in it. | ||
|
||
In newer versions of these files, a reflection approach stores the full | ||
ConceptDescriptions (CDs) in the Resource JSON files and the source code | ||
links against it. | ||
|
||
This is the *preferred approach* to realize predefined data for the AASPE, | ||
as many functions ("Add predefined ..", "New Submodel ..") can use these | ||
data automatically. | ||
|
||
In order the be properly linked, the classes need to be listed in | ||
`DefinitionsPool.cs`. | ||
|
||
Note: It is recommended, to *NOT* include all symbols by | ||
`using AasxPredefinedConcepts`, but to refer to specific classes. | ||
|
||
Note: For the sake of shorter source code symbols, the classes in the | ||
`DefinitionsXXX` are cut to `XXX` because preferable preceded by | ||
`AasxPredefinedConcepts.`. | ||
|
||
## Mapping | ||
|
||
These classes support an automatic mapping of Submodel structures | ||
to C# class hierarchies. These classes are 1:1 mapping of the | ||
SMT structure and contain C# attributes with explicit semanticIds | ||
to allow functionality of `PredefinedConceptsClassMapper.cs`. | ||
|
||
## Qualifers | ||
|
||
These classes pre-define names, semanticIds and functions for | ||
handling `Qualifiers`. |