Coder Social home page Coder Social logo

Comments (5)

s-heppner avatar s-heppner commented on July 16, 2024 3

Oh, no bother at all! I was curious myself what happened there, just not curious enough to post the issue myself 😄

If you need a UI, have you tried our AAS Manager?
It's not an Eclipse project (yet), but based on our SDK, so it's garantueed to be compatible with it.

from basyx-python-sdk.

s-heppner avatar s-heppner commented on July 16, 2024 1

I think there's a general problem in the understanding of ModelReference vs ExternalReference.

According to our understanding (and therefore our implementation), a ModelReference is resolvable in implementations of the AAS (since it references another AAS object), whereas a GlobalReference does not necessarily refer to other AAS objects.
See also the discussion here: #231
And the resulting issue with the specification of the AAS here: aas-specs#350

A ConceptDescription referenced with an ExternalReference could be located anywhere, which is why we're using an ExternalReference and not a ModelReference. But because we modelled it specifically to be "anywhere" and specifically not "another AAS object", it's in general not possible to programmatically check whether or not the ExternalReference by chance is resolvable and by even more chance located in the same ObjectStore.

Therefore, it is my understanding that ConceptDescriptions referenced via ExternalReference should not be written into a local AASX. To me, that would speak against the idea of the distinction between ModelReference and ExternalReference and would be a bug in the modelling.

When the comment in aaspe#28 mentions, it is recommended to use an ExternalReference, my understanding is that this means, the ConceptDescription should also be located somewhere externally, and not be delivered with the AASX.

When a property has a semantic reference to a Concept Description as a ModelReference, the ConceptDescription cannot be looked up within the AAS environment in the Package Explorer. See issue eclipse-aaspe/aaspe#11

As a logical consequence, I would also assume that this is therefore a bug within the AASX Package Explorer.

from basyx-python-sdk.

WelliSolutions avatar WelliSolutions commented on July 16, 2024 1

Oh dear... sorry for bothering you. I have no idea what the idea of that viewer is. I am just trying to build an AAS which is compatible to that thing.
I guess this is how standards go: someone does it wrong, and everybody follows the wrong implementation, just because it has a nice UI. Once there are enough implementations doing it like that, its easier to change the standard than the implementations.

from basyx-python-sdk.

WelliSolutions avatar WelliSolutions commented on July 16, 2024

Hi. Similar issue here, and I don't fully understand CDs yet.

Package Explorer does also not automatically include concept descriptions in the AASX file.
However, there is functionality to do that, e.g. in the digital nameplate viewer 1.0 (not in 2.0).

The following picture may demonstrate this:

image

  1. The viewer already kicks in and recognizes the digital nameplate (blue frame 1.)
  2. even if there are no CDs present (violet frame, 2.)
  3. but there is a button which creates, imports or copies (I can't judge at the moment) the CDs into the current AASX (green frame, 3.)

After clicking the button, you'll find the CDs

image

The properties then refer to a ModelReference/ConceptDescription

image

and that concept description then refers to a ModelReference/GlobalReference with a data specification as ExternalReference/GlobalReference.

image

Obviously the Nameplate Viewer 1.0 thinks that the CDs should be part of the AASX file which uses the CDs. Otherwise they wouldn't have implemented the "Fix missing CDs" functionality.

from basyx-python-sdk.

s-heppner avatar s-heppner commented on July 16, 2024

Okay, so what I've gathered from your screenshots is that the Nameplate Viewer 1.0 references the (magically created?) ConceptDescriptions via ModelReferences with a Key with KeyType GlobalReference.

This violates the specification on several constraints, most importantly:

Constraint AASd-123: For model references, i.e. References with Reference/type = ModelReference, the value of Key/type of the first key of Reference/keys shall be one of AasIdentifiables.

Could you maybe inquire, what the Nameplate Viewer 1.0's idea is, regarding ConceptDescriptions?
At the very least, this is most likely a bug in their referencing of ConceptDescriptions.

from basyx-python-sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.