Lehrstuhl für Informations- und Automatisierungssysteme issueshttps://git.rwth-aachen.de/groups/acplt/-/issues2021-01-12T13:37:07+01:00https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/79Make DictObjectStore thread-safe (including object attribute access)2021-01-12T13:37:07+01:00Michael ThiesMake DictObjectStore thread-safe (including object attribute access)We need a concept for thread-safe object and attribute access to allow building multi-threaded applications. This is especially required to build a scalable web API using WSGI.We need a concept for thread-safe object and attribute access to allow building multi-threaded applications. This is especially required to build a scalable web API using WSGI.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/77Add HTTP API Client2021-01-12T13:39:07+01:00Michael ThiesAdd HTTP API Client… according to the current draft of DotAAS Part 2.
The client should allow to create "connected objects", which behave just like normal PyI40AAS objects but reflect the server's objects via their `update()` and `commit()` methods.… according to the current draft of DotAAS Part 2.
The client should allow to create "connected objects", which behave just like normal PyI40AAS objects but reflect the server's objects via their `update()` and `commit()` methods.BaSys interoperabilityhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/76Add HTTP API Server Implementation2021-01-12T13:39:11+01:00Michael ThiesAdd HTTP API Server Implementation… according to the current draft of DotAAS Part 2.
Our API Spec: https://git.rwth-aachen.de/leon.moeller/pyi40aas-oas… according to the current draft of DotAAS Part 2.
Our API Spec: https://git.rwth-aachen.de/leon.moeller/pyi40aas-oasBaSys interoperabilityLeon Mauritz MöllerLeon Mauritz Möllerhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/73adapter.json: Use error handling pattern from xml_deserialization for json_de...2021-01-12T13:37:17+01:00Michael Thiesadapter.json: Use error handling pattern from xml_deserialization for json_deserializationIn the `aas.adapter.xml.xml_deserialization` we introduced an elegant error handling pattern to reduce code dupliction, consisting of the `_failsafe_construct()` and `_failsafe_construct_multiple()`, which wrap a constructor function to ...In the `aas.adapter.xml.xml_deserialization` we introduced an elegant error handling pattern to reduce code dupliction, consisting of the `_failsafe_construct()` and `_failsafe_construct_multiple()`, which wrap a constructor function to handle its raised Exceptions. We should apply the same pattern to the JSON deserialization.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/57XSD: unneccesary wrapper elements2021-01-20T11:07:04+01:00Sebastian Heppners.heppner@iat.rwth-aachen.deXSD: unneccesary wrapper elementsThe current version of the schema (v3.0 RC01) has unnecessary wrapper elements around each Submodel Element and Data Element.
forwarded to DotAAS-Group: [Issue 22](https://github.com/admin-shell-io/aas-specs/issues/22)
### Submodel E...The current version of the schema (v3.0 RC01) has unnecessary wrapper elements around each Submodel Element and Data Element.
forwarded to DotAAS-Group: [Issue 22](https://github.com/admin-shell-io/aas-specs/issues/22)
### Submodel Element
```xml
<submodelElements>
<submodelElement> <!-- this is unnecessary -->
<entity/>
</submodelElement>
<submodelElement> <!-- this is unnecessary -->
<property/>
</submodelElement>
[...]
</submodelElements>
```
We suggest the removal of the wrapper element:
```xml
<submodelElements>
<entity/>
<property/>
[...]
</submodelElements>
```
### Data Element
```xml
<annotations>
<dataElement> <!-- this is unnecessary -->
<property/>
</dataElement>
<dataElement> <!-- this is unnecessary -->
<range/>
</dataElement>
[...]
</annotations>
```
Again, we suggest the removal of the wrapper element:
```xml
<annotations>
<property/>
<range/>
[...]
</annotations>
```https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/28model: Operation should be a Namespace with three NameSpaceSets for its Opera...2021-01-12T13:42:15+01:00Michael Thiesmodel: Operation should be a Namespace with three NameSpaceSets for its OperationVariablesThis implementation has been reverted in https://git.rwth-aachen.de/acplt/pyi40aas/-/commit/0fee9b12537ed7b49ce3586d870bbc9cca93f636. We are currently awaiting feedback on this.
If this class stays in the metamodel, we could remove `Ope...This implementation has been reverted in https://git.rwth-aachen.de/acplt/pyi40aas/-/commit/0fee9b12537ed7b49ce3586d870bbc9cca93f636. We are currently awaiting feedback on this.
If this class stays in the metamodel, we could remove `OperationVariable` in our implementation and attach `SubmodelElement`s to the `Operation` directly, so we can make `Operation` a `Namespace`.
Adapters would then just "emulate" `OperationVariable`s.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/19model: Remove Key.type2021-01-12T13:42:20+01:00Michael Thiesmodel: Remove Key.typeThis attribute is not required for resolving references.This attribute is not required for resolving references.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/18model: Merge KeyType and IdentifierType2021-01-12T13:37:45+01:00Michael Thiesmodel: Merge KeyType and IdentifierTypeStable library APIhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/17model: Subclass Identifier for different id types and use native types for id2021-01-12T13:37:57+01:00Michael Thiesmodel: Subclass Identifier for different id types and use native types for idStable library APIhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/11Add factory and / or manager module for simple construction of AASes2021-01-18T17:28:12+01:00Michael ThiesAdd factory and / or manager module for simple construction of AASesThe factory functions (which may be methods of a manager, that also includes an ObjectStore) should encapsulate all the boilerplate code required for constructing an AAS, constructing and adding a submodule, etc.The factory functions (which may be methods of a manager, that also includes an ObjectStore) should encapsulate all the boilerplate code required for constructing an AAS, constructing and adding a submodule, etc.