aasx-package-explorer icon indicating copy to clipboard operation
aasx-package-explorer copied to clipboard

Investigate for meta model AAS V3.0RC0.2

Open MichaelHoffmeisterFesto opened this issue 3 years ago • 0 comments

** DO NOT INTEGRATE NOW ** ** PREVIEW Version for update to meta model V3.0RC02 **

Overview

The preview investigates if a smooth transition of the AASX Package Explorer to AAS meta model V3.0RC02 is possible.

Big changes as of now:

  • Identification -> Identifier, no idType anymore, implicit string conversion possible
  • on-the-fly-conversion of AAS/2.0 to AAS/3.0
  • split AdminShell.cs in multiple partial classes
  • remove Key.local, idType members
  • remove AAS.View
  • Remove AAS.ConceptDictionary
  • Use Aas.assetIdentification instead of independent Assets() collection
  • split Reference to GlobalReference, ModelReference (massive changes)
  • on-the-fly-conversion of plugin options and embedded JSON files
  • Extensions for Referables
  • Presets for Qualifier (improved), IdentifierKeyValuePairs and Extensions
  • split SubmodelElementCollection to SubmodelElementList and SubmodelElementStruct

Still open

  • correct XML/ JSON serialization
  • validation of AAS
  • AML mapping
  • OPC UA mapping (both of them)
  • SMC/ SML/ SMS hints

Detailed commit changes (historical order)

  • starting realize V2->V3 migration
  • modify Identification to only have id
  • rename Identifcation to Identifier
  • rename identifcation to id with Identifiable
  • tweak XML/ JSON serialization of Identifiable/id
  • split AdminShell.cs in multiple partial classes to promote better overview and performance
  • remove Key.local, idType members but leave API signatures untouched
  • Reduce signatur of Key() constructor
  • reduce signature for Key.CreateNew()
  • reduce signature of Key.Matches()
  • massive clean-up by reducing use of Key.MatchMode.Relaxed
  • remove AAS.View
  • Remove AAS.ConceptDictionary
  • Use Aas.assetIdentification instead of independent Assets() collection Note: Enormous changes; low code quality
    for now. Change of References required before caring for details.

Still open:

  • Print 2D code with proper Asset information
  • Handling of Asset Ids in File Repository
  • aas/asset slots in REST messages
  • AML export/import of assets
  • OPC UA export/import of assets

Continue commits:

  • compiles again
  • try convert old options on the fly
  • Conversion of plugin option basing on V2.0.1
  • migrate options for BOM plugin
  • refactoring of IGetReference
  • migrate options for BOM plugin
  • indicate meta model versions
  • save plugin options
  • continue migration of plugin option
  • MTP lugin works
  • Completed migrating plugin options in the first rank.
  • migration of predefined concepts

Notes:

  • pretty hardcoded, no support of SME, yet
  • no Logging of conversion

Continue commits:

  • realize UI for AssetInformation
  • include preset files for IdentifierKeyValuePairs
  • replace specialized select qualifier UI by generic list UI
  • AssetInformation.defaultThumbnail as File element
  • move code in AdminShell.cs
  • finalize Extensions
  • re-partition DispEdit classes
  • initial addition of SMList und SMStruct
  • funny enough, already working ;-)
  • incorporate ModelRefElem, GlobalRefElem, SubmodelElemList, SubmodelElemStruct
  • polish creation of AssetInformation

MichaelHoffmeisterFesto avatar Jan 07 '22 12:01 MichaelHoffmeisterFesto