-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove OperationVariable
class
#148
Comments
@jkhsjdhjs Can you take care of the issue? |
This commit makes `OperationVariable` inherit from `UniqueIdShortNamespace`, to implement Constraint AASd-134: For an Operation, the idShort of all inputVariable/value, outputVariable/value, and inoutputVariable/value shall be unique. In the DotAAS spec, the attributes `inputVariable`, `outputVariable` and `inoutputVariable` of `Operation` are defined to be a collection of `OperationVariable` instances, which themselves just contain a single `SubmodelElement`. Thus, the `OperationVariable` isn't really required for `Operation`, as the `Operation` can just contain the `SubmodelElements` directly, without an unnecessary wrapper. This makes `Operation` less tedious to use and also allows us to use normal `NamespaceSets` for the 3 attributes, which together with the `UniqueIdShortNamespace` ensure, that the `idShort` of all contained `SubmodelElements` is unique across all 3 attributes. Aside this, the examples are updated since `SubmodelElements` as children of an `Operation` are now linked to the parent. This prevents us from reusing other `SubmodelElements` as `OperationVariables` as it was done previously, since each `SubmodelElement` can only have one parent. Fix eclipse-basyx#146 eclipse-basyx#148
This commit makes `OperationVariable` inherit from `UniqueIdShortNamespace`, to implement Constraint AASd-134: For an Operation, the idShort of all inputVariable/value, outputVariable/value, and inoutputVariable/value shall be unique. In the DotAAS spec, the attributes `inputVariable`, `outputVariable` and `inoutputVariable` of `Operation` are defined to be a collection of `OperationVariable` instances, which themselves just contain a single `SubmodelElement`. Thus, the `OperationVariable` isn't really required for `Operation`, as the `Operation` can just contain the `SubmodelElements` directly, without an unnecessary wrapper. This makes `Operation` less tedious to use and also allows us to use normal `NamespaceSets` for the 3 attributes, which together with the `UniqueIdShortNamespace` ensure, that the `idShort` of all contained `SubmodelElements` is unique across all 3 attributes. Aside this, the examples are updated since `SubmodelElements` as children of an `Operation` are now linked to the parent. This prevents us from reusing other `SubmodelElements` as `OperationVariables` as it was done previously, since each `SubmodelElement` can only have one parent. Fix eclipse-basyx#146 eclipse-basyx#148
We may have to reconsider the decision to eliminate the @jkhsjdhjs , @s-heppner , @TorbenD what do you think? |
Unfortunately if we want to keep To solve #146 we may introduce a new property
|
Good point. On the other hand adding attributes to |
Good points. How about the integration into the server-implementation which will come next? Maybe it would be easier to still remain with the OperationVariable for less adaption in other applications based on the sdks in future. |
This commit makes `Operation` inherit from `UniqueIdShortNamespace`, to implement Constraint AASd-134: For an Operation, the idShort of all inputVariable/value, outputVariable/value, and inoutputVariable/value shall be unique. In the DotAAS spec, the attributes `inputVariable`, `outputVariable` and `inoutputVariable` of `Operation` are defined to be a collection of `OperationVariable` instances, which themselves just contain a single `SubmodelElement`. Thus, the `OperationVariable` isn't really required for `Operation`, as the `Operation` can just contain the `SubmodelElements` directly, without an unnecessary wrapper. This makes `Operation` less tedious to use and also allows us to use normal `NamespaceSets` for the 3 attributes, which together with the `UniqueIdShortNamespace` ensure, that the `idShort` of all contained `SubmodelElements` is unique across all 3 attributes. Aside this, the examples are updated since `SubmodelElements` as children of an `Operation` are now linked to the parent. This prevents us from reusing other `SubmodelElements` as `OperationVariables` as it was done previously, since each `SubmodelElement` can only have one parent. Fix eclipse-basyx#146 eclipse-basyx#148
The removing of |
Sure, my argument is that there are breaking changing with every new version of the metamodel, attributes are renamed all the time or are of a different type in a new version. So if we can't expect much backwards compatibility for other classes anyway, is it worth keeping |
This commit makes `Operation` inherit from `UniqueIdShortNamespace`, to implement Constraint AASd-134: For an Operation, the idShort of all inputVariable/value, outputVariable/value, and inoutputVariable/value shall be unique. In the DotAAS spec, the attributes `inputVariable`, `outputVariable` and `inoutputVariable` of `Operation` are defined to be a collection of `OperationVariable` instances, which themselves just contain a single `SubmodelElement`. Thus, the `OperationVariable` isn't really required for `Operation`, as the `Operation` can just contain the `SubmodelElements` directly, without an unnecessary wrapper. This makes `Operation` less tedious to use and also allows us to use normal `NamespaceSets` for the 3 attributes, which together with the `UniqueIdShortNamespace` ensure, that the `idShort` of all contained `SubmodelElements` is unique across all 3 attributes. Aside this, the examples are updated since `SubmodelElements` as children of an `Operation` are now linked to the parent. This prevents us from reusing other `SubmodelElements` as `OperationVariables` as it was done previously, since each `SubmodelElement` can only have one parent. Fix #146 #148
Fixed in #151 |
This commit makes `Operation` inherit from `UniqueIdShortNamespace`, to implement Constraint AASd-134: For an Operation, the idShort of all inputVariable/value, outputVariable/value, and inoutputVariable/value shall be unique. In the DotAAS spec, the attributes `inputVariable`, `outputVariable` and `inoutputVariable` of `Operation` are defined to be a collection of `OperationVariable` instances, which themselves just contain a single `SubmodelElement`. Thus, the `OperationVariable` isn't really required for `Operation`, as the `Operation` can just contain the `SubmodelElements` directly, without an unnecessary wrapper. This makes `Operation` less tedious to use and also allows us to use normal `NamespaceSets` for the 3 attributes, which together with the `UniqueIdShortNamespace` ensure, that the `idShort` of all contained `SubmodelElements` is unique across all 3 attributes. Aside this, the examples are updated since `SubmodelElements` as children of an `Operation` are now linked to the parent. This prevents us from reusing other `SubmodelElements` as `OperationVariables` as it was done previously, since each `SubmodelElement` can only have one parent. Fix eclipse-basyx#146 eclipse-basyx#148
SubmodelElement
instead ofOperationVariable
inOperation
classOperationVariable
classThe text was updated successfully, but these errors were encountered: