Lehrstuhl für Informations- und Automatisierungssysteme issueshttps://git.rwth-aachen.de/groups/acplt/-/issues2020-04-30T11:03:33+02:00https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/67Add XML checks for compliance tool including tests2020-04-30T11:03:33+02:00Torben MinyAdd XML checks for compliance tool including testsAlpha Release 0.1.0Torben MinyTorben Minyhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/71compliance-tool: Remove hard-coded path of XML and JSON schema2020-04-30T11:03:33+02:00Michael Thiescompliance-tool: Remove hard-coded path of XML and JSON schemaSince the tests are not installed in a deployment environment, the hard-coded path in the compliance tool of the XML and JSON Schema in the `test` directory will not be valid.
Instead, we should allow users to download the Schema files ...Since the tests are not installed in a deployment environment, the hard-coded path in the compliance tool of the XML and JSON Schema in the `test` directory will not be valid.
Instead, we should allow users to download the Schema files themselves (from wherever) and tell the tool about their location, e.g. as an additional cli option.Alpha Release 0.1.0https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/61adapter._generic: Missing module docstring2020-04-21T09:37:35+02:00Sebastian Heppners.heppner@iat.rwth-aachen.deadapter._generic: Missing module docstringhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/62model.aas: Update module docstring2020-04-21T09:37:34+02:00Sebastian Heppners.heppner@iat.rwth-aachen.demodel.aas: Update module docstringConceptDictionary, ConceptDescription etc. is now located in `model.concept`.ConceptDictionary, ConceptDescription etc. is now located in `model.concept`.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/64test: AASXWriterTest fails sometimes2020-04-20T09:18:37+02:00Leon Mauritz Möllertest: AASXWriterTest fails sometimesIt's rare, but the AASXWriterTest can fail:
```
FAIL [0.038s]: test_writing_reading_example_aas (test.adapter.aasx.test_aasx.AASXWriterTest)
----------------------------------------------------------------------
Traceback (most recent ca...It's rare, but the AASXWriterTest can fail:
```
FAIL [0.038s]: test_writing_reading_example_aas (test.adapter.aasx.test_aasx.AASXWriterTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/jkhsjdhjs/git/pyAAS/test/adapter/aasx/test_aasx.py", line 96, in test_writing_reading_example_aas
self.assertEqual(new_cp.created, cp.created)
AssertionError: datetime.datetime(2020, 4, 3, 0, 59, 3, 500681) != datetime.datetime(2020, 4, 3, 0, 59, 3, 500682)
----------------------------------------------------------------------
```
bash script to reproduce it via brute force (execute in project root):
```bash
#!/usr/bin/env bash
i=1
while PYTHONPATH=".:$PYTHONPATH" python -m unittest test.adapter.aasx.test_aasx.AASXWriterTest; do
(( i++ ))
done
echo "test attempt $i failed"
```
Using this script you should be able to reproduce the issue in usually less than 200 attempts.
Issue first occured on Arch Linux with linux 5.5.13-arch2-1 and Python 3.8.2.
Reproduced on a Raspberry Pi 1 B running Raspbian buster with linux 4.19.66+ and Python 3.7.3.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/66test: cover serialization and deserialization of formulas2020-04-20T09:17:53+02:00Leon Mauritz Möllertest: cover serialization and deserialization of formulasThe serialization and deserialization of [`Formula`](https://git.rwth-aachen.de/acplt/pyaas/-/blob/fbe3f911a5d0c7acd8cc4c5114c0c499b4ba0eca/aas/model/base.py#L712)s is not tested by the current examples.
Thus lines 481-495 of the `json_d...The serialization and deserialization of [`Formula`](https://git.rwth-aachen.de/acplt/pyaas/-/blob/fbe3f911a5d0c7acd8cc4c5114c0c499b4ba0eca/aas/model/base.py#L712)s is not tested by the current examples.
Thus lines 481-495 of the `json_deserilization`, lines 169-173 of the `json_serialization` and lines 213-219 of the `xml_serialization` are not covered.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/58doc: Expand README.md2020-04-15T16:47:13+02:00Michael Thiesdoc: Expand README.mdThe readme file should include the following sections:
* Features – list-style but comprehensible description of the provided features of this project
* Getting started –
* Example – Short code block (~25 loc) demonstrating the main ...The readme file should include the following sections:
* Features – list-style but comprehensible description of the provided features of this project
* Getting started –
* Example – Short code block (~25 loc) demonstrating the main features of the framework. May be part of the *Getting Started* (no individual heading)
* References to further resources (examples)
* Project Structure – Short overview over the included packages and modules (only those wihtin the `aas` package). This may be merged somehow with the *Features* section
* Contributing
* Information about our codestyle and testing
* Information about how to contribute Code/patchesSebastian Heppners.heppner@iat.rwth-aachen.deSebastian Heppners.heppner@iat.rwth-aachen.dehttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/65adapter: Re-publish reader/writer functions and relevant classes from adapter...2020-04-14T15:03:51+02:00Michael Thiesadapter: Re-publish reader/writer functions and relevant classes from adapter.json and adapter.xml modulesImports of the (de)serialization functions should look like
```python
from aas.adapter.json import write_aas_json_file, read_json_aas_file
```
instead of
```python
from aas.adapter.json.json_serialization import write_aas_json_file
from ...Imports of the (de)serialization functions should look like
```python
from aas.adapter.json import write_aas_json_file, read_json_aas_file
```
instead of
```python
from aas.adapter.json.json_serialization import write_aas_json_file
from aas.adapter.json.json_deserialization import read_json_aas_file
```
Thus, we should import all classes of the "public interface" in the `aas.adpater.json.__init__` and `aas.adapter.xml.__init__` modules.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/44README: Add sections about features/project structure, getting started, and d...2020-03-25T15:27:12+01:00Michael ThiesREADME: Add sections about features/project structure, getting started, and development/contributing* [ ] Section "Features" or "Project Structure", explaining what functionality is implemented and in which Python package it lives
* [ ] Section "Getting started", giving a short introduction on how to install PyI40AAS (from Git or PyPI)...* [ ] Section "Features" or "Project Structure", explaining what functionality is implemented and in which Python package it lives
* [ ] Section "Getting started", giving a short introduction on how to install PyI40AAS (from Git or PyPI) and pointing to the tutorials and examples
* [ ] Section "Development", explaining how to set up a development environment and running tests (incl. )
* [ ] Section "Contributing", explaining our coding guidelines (how to run mypy and pycodestyle), workflows (GitLab PRs) and pointing to issueshttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/38adapter: Create AASX file read- and write functionality2020-03-25T13:09:34+01:00Michael Thiesadapter: Create AASX file read- and write functionalityhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/22model.adapter: Serialization for XML2020-03-25T13:08:58+01:00Torben Minymodel.adapter: Serialization for XMLSebastian Heppners.heppner@iat.rwth-aachen.deSebastian Heppners.heppner@iat.rwth-aachen.dehttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/43json package docstring: missing description of deserialization.py2020-02-28T15:06:05+01:00Torben Minyjson package docstring: missing description of deserialization.pyhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/51XSD-Schema: missing minOccurs="0" of element "conceptDescriptionRefs" in type...2020-02-25T14:19:35+01:00Sebastian Heppners.heppner@iat.rwth-aachen.deXSD-Schema: missing minOccurs="0" of element "conceptDescriptionRefs" in type "conceptDictionary_t"Class `ConceptDictionary` has parameter `conceptDescription`: ![conceptDictionary](/uploads/a32d03ee11104052db45680c98650ea4/conceptDictionary.png) of cardinality 0..*.
The XSD-schema therefore needs a `minOccurs="0"`in element `<concep...Class `ConceptDictionary` has parameter `conceptDescription`: ![conceptDictionary](/uploads/a32d03ee11104052db45680c98650ea4/conceptDictionary.png) of cardinality 0..*.
The XSD-schema therefore needs a `minOccurs="0"`in element `<conceptDescriptionRefs>`.
Current Version:
```
<complexType name="conceptDictionary_t">
<sequence>
<group ref="aas:referable" />
<element name="conceptDescriptionRefs" type="aas:conceptDescriptionRefs_t"></element>
</sequence>
</complexType>
```
Suggested Fix:
```
<complexType name="conceptDictionary_t">
<sequence>
<group ref="aas:referable" />
<element maxOccurs="unbounded" minOccurs="0" name="conceptDescriptionRefs" type="aas:conceptDescriptionRefs_t"/>
</sequence>
</complexType>
```https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/52XSD-Schema: missing minOccurs="0" of element `containedElements` in type `vie...2020-02-25T08:06:23+01:00Sebastian Heppners.heppner@iat.rwth-aachen.deXSD-Schema: missing minOccurs="0" of element `containedElements` in type `view_t`Class `view` has parameter `containedElements`:
![View](/uploads/0514057d047dd557cbf2dbceb92b0fec/View.png)
of cardinality 0..*
The XSD-Schema therefore needs a `minOccurs="0"`in element `<containedElements>`.
Current version:
```
<c...Class `view` has parameter `containedElements`:
![View](/uploads/0514057d047dd557cbf2dbceb92b0fec/View.png)
of cardinality 0..*
The XSD-Schema therefore needs a `minOccurs="0"`in element `<containedElements>`.
Current version:
```
<complexType name="view_t">
<sequence>
<group ref="aas:referable"/>
<group ref="aas:hasSemantics"/>
<group ref="aas:hasDataSpecification"/>
<element name="containedElements" type="aas:containedElements_t" ></element>
</sequence>
</complexType>
```
Proposed Fix:
```
<complexType name="view_t">
<sequence>
<group ref="aas:referable"/>
<group ref="aas:hasSemantics"/>
<group ref="aas:hasDataSpecification"/>
<element maxOccurs="unbounded" minOccurs="0" name="containedElements" type="aas:containedElements_t"/>
</sequence>
</complexType>
```https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/40DataChecker: Add Test for correct storing of the `expecation`message and the ...2020-02-03T15:56:23+01:00Torben MinyDataChecker: Add Test for correct storing of the `expecation`message and the additional `kwargs` parameters.Torben MinyTorben Minyhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/46Test: assertRaises should not only check ErrorType but also the message to be...2020-02-03T15:56:23+01:00Torben MinyTest: assertRaises should not only check ErrorType but also the message to be sure the right exepction is raisedhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/45NamespaceSet: It should be allowed to insert an Referable with the same id_sh...2020-02-03T15:15:11+01:00Torben MinyNamespaceSet: It should be allowed to insert an Referable with the same id_short in another NamespaceSet of the same objectAt the moment it is not possible to add a concept dictionary and a view with the same id_short to the asset administration shellAt the moment it is not possible to add a concept dictionary and a view with the same id_short to the asset administration shellhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/33example: Add example for deserializing and serializing an AAS2020-01-31T09:52:28+01:00Michael Thiesexample: Add example for deserializing and serializing an AASTorben MinyTorben Minyhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/31example: Add example for creating a simple AAS by hand2020-01-31T09:52:23+01:00Michael Thiesexample: Add example for creating a simple AAS by handTorben MinyTorben Minyhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/34example: Add example for modifying an existing AAS2020-01-31T09:52:14+01:00Michael Thiesexample: Add example for modifying an existing AASTorben MinyTorben Miny