Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
e3c4a80
Updated antora.yml
Rudra-sandeep May 27, 2025
d1194c3
remove <ws> and adjust the idshortpath in the query grammar
aorzelskiGH Jul 14, 2025
102134c
remove <ws> and adjust the idshortpath in the query grammar
aorzelskiGH Jul 14, 2025
237fcf4
Revert change from wrong branch
aorzelskiGH Jul 14, 2025
83cd4cc
Correct Example in Annex
aorzelskiGH Jul 14, 2025
c30a514
Add note for upcoming V3.1 changes
aorzelskiGH Jul 14, 2025
89c4ffb
Update Change Notes for V3.0.1
aorzelskiGH Jul 14, 2025
afa8f01
Change to FieldIdentifier
aorzelskiGH Jul 14, 2025
6081c46
Typo
aorzelskiGH Jul 14, 2025
9ce4f83
Update README.md with 3.0.1 release information
sebbader-sap Jul 14, 2025
aa37836
Update documentation/IDTA-01004/modules/ROOT/pages/access-rule-model.…
sebbader-sap Jul 14, 2025
81989cc
improve description of changes
BirgitBoss Jul 14, 2025
6912d4a
fixing typo
sebbader-sap Jul 14, 2025
a709839
Merge pull request #32 from admin-shell-io/BiBo/fixes
aorzelskiGH Jul 14, 2025
ff3d0dd
add issue links + removed grammar from changelog (is in issue now)
BirgitBoss Jul 15, 2025
2faec94
update index.adoc for new version V3.0.1
BirgitBoss Jul 15, 2025
09703be
add: If there are bugfixes of the parts, these shall be used.
BirgitBoss Jul 15, 2025
c09f05c
Merge pull request #35 from admin-shell-io/BiBo/V3.0.1_noProposalInCh…
aorzelskiGH Jul 16, 2025
98cd191
Update bug-fix version and publish date
juileetikekar Jul 16, 2025
dc206a5
Update DOI
juileetikekar Jul 25, 2025
a192cba
Merge pull request #36 from admin-shell-io/jtikekar/doi_publicationDate
juileetikekar Jul 25, 2025
e210ab9
Merge pull request #31 from admin-shell-io/IDTA-01004-3-0-1_working
juileetikekar Aug 1, 2025
aff3100
Update access-rules.bnf
aorzelskiGH Sep 5, 2025
0397bcf
Update attributes.bnf
aorzelskiGH Sep 5, 2025
9dc6fad
Update objects.bnf
aorzelskiGH Sep 5, 2025
2f84957
Update allow-read-all-users-of-company-for-submodel.bnf
aorzelskiGH Sep 5, 2025
5b04714
Update allow-read-submodels-id-pattern.bnf
aorzelskiGH Sep 5, 2025
088baec
Update allow-read-update-submodel.bnf
aorzelskiGH Sep 5, 2025
fae77d6
Update allow-read-update-users.bnf
aorzelskiGH Sep 5, 2025
8012ba8
Update reuse-acl-object-formula.bnf
aorzelskiGH Sep 5, 2025
cf85e60
Update filter.bnf
aorzelskiGH Sep 5, 2025
b60a504
Update changelog.adoc
aorzelskiGH Sep 5, 2025
8088721
Update access-rule-model.adoc
aorzelskiGH Sep 5, 2025
f825791
Merge branch 'IDTA-01004-3-1_Working' into aorzelski/extensionsWG24
sebbader-sap Sep 15, 2025
c810363
Update aas-queries-and-access-rules-schema.json
aorzelskiGH Sep 25, 2025
bb98e6c
Update access-rule-model.json
aorzelskiGH Sep 25, 2025
23fa3ff
Update formulas-and-logical-expressions.json
aorzelskiGH Sep 25, 2025
cb1a253
Update allow-read-all-users-of-company-for-submodel.json
aorzelskiGH Sep 25, 2025
f0a50d0
Update allow-read-submodels-id-pattern.json
aorzelskiGH Sep 25, 2025
0988ffa
Update allow-read-all-users-of-company-for-submodel.json
aorzelskiGH Sep 25, 2025
21af0a1
Update allow-read-update-submodel.json
aorzelskiGH Sep 25, 2025
5b38919
Update allow-read-update-users.json
aorzelskiGH Sep 25, 2025
286228f
Update filter.json
aorzelskiGH Sep 25, 2025
a2665e1
Update reuse-acl-object-formula.json
aorzelskiGH Sep 25, 2025
1aa2503
idShort according 3.1
aorzelskiGH Sep 25, 2025
1aa0600
idShort according 3.1
aorzelskiGH Sep 25, 2025
043032e
fixed typo in changelog
sebbader-sap Oct 1, 2025
536e964
fix typo
sebbader-sap Oct 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,19 @@ The following release contains the latest version of the AAS schemas
(see also the [releases](https://github.com/admin-shell-io/aas-specs-security/releases)
section of this repository):

* [3.0.0](https://github.com/admin-shell-io/aas-specs-security/releases/tag/v3.0.0)
is the latest release for the `V3.0.0` version of the AAS Security,
* [3.0.1](https://github.com/admin-shell-io/aas-specs-security/releases/tag/v3.0.1)
is the latest bugfix release for the `V3.0.1` version of the AAS Security,
containing the normative sources for the published document
"Specification of the Asset Administration Shell: Part 4 - **Version 3.0.0**".
"Specification of the Asset Administration Shell: Part 4 - **Version 3.0.1**".
*Use this release if you want to work with the latest specified AAS version.*

Previous releases:

* [3.0.0](https://github.com/admin-shell-io/aas-specs-security/releases/tag/v3.0.0)
is the first release for the `V3.0` version of the AAS Security,
containing the normative sources for the published document
"Specification of the Asset Administration Shell: Part 4 - Version 3.0.0".

## Contributing

Feature requests, reports about inconsistencies, mistakes *etc.* are highly
Expand Down
16 changes: 0 additions & 16 deletions documentation/IDTA-01004/modules/ROOT/pages/access-rule-model.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,6 @@ Global Attributes are:

* *ANONYMOUS* - Tag for anonymous and non-authenticated user, i.e. no access token

References in ReferenceAttributes are defined in Section xref:access-rule-model.adoc#text-serialization-of-values-of-type-reference[Text Serialization of Values of Type Reference].


==== Objects

Expand All @@ -188,8 +186,6 @@ Objects to be protected are either API Routes, Identifiables (e.g. AAS or Submod

Routes may use * or end with a *, which means that all routes with a given prefix are valid.

References to IdentifiableObjects, ReferableObjects, FragmentObjects and DescriptorObjects are defined in Section xref:access-rule-model.adoc#text-serialization-of-values-of-type-reference[Text Serialization of Values of Type Reference].

An Object Group defines a list of single objects and/or a list of names of other object groups.

==== Formulas
Expand Down Expand Up @@ -218,18 +214,6 @@ This enables access rules related to week days or specific times in the year.
An important special operation is $match, which can be used with any element containing a list of elements, e.g. semanticId[], specificAssetId[], SubmodelElementList or SubmodelElementCollection.
The list element is written with [] to express, that $match shall check if a certain expression is true for at least one element in the list.

[[text-serialization-of-values-of-type-reference]]
==== Text Serialization of Values of Type Reference

References are used in ReferenceAttributes, IdentifiableObjects, ReferableObjects, FragmentObjects and DescriptorObjects for the corresponding ReferenceLiterals, IdentifiableLiterals, ReferableLiterals, FragmentLiterals and DescriptorLiterals.

Such references use the link:https://industrialdigitaltwin.io/aas-specifications/IDTA-01001/v3.1/mappings/mappings.html#reference-serialization[Part 1 Mapping in Section "Text Serialization of Values of Type Reference"] for specific instances of elements, e.g. an AAS, a Submodel, a ConceptDescription or a specific SubmodelElement.

Access Rules may also be defined for all Identifiables of the Keytypes AssetAdministrationShell, Submodel or ConceptDescription.
In this case an IdentifiableLiteral uses the format "(AssetAdministrationShell)\*", "(Submodel)*" and "(ConceptDescription)*".

Access Rules extend the Keytypes of Part 1 by "(aasDesc)" for AAS Descriptors and "(smdesc)" for submodel descriptors.
To define all descriptors "(aasDesc)\*" or "(smdesc)*" may be used in DescriptorLiterals accordingly.

[[json-serialization]]
== JSON Serialization of Access Rule Model
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ include::partial$examples/bpn.bnf[]
include::partial$examples/allow-read-all-users-of-company-for-submodel.bnf[]
----

[[allow-read-submodels-id-pattern]]
== Allow READ to all Submodels with ID pattern for all authenticated users of a company for submodels with Nameplate and TechnicalData from 9:00-17:00

[source,bnf,linenums]
Expand Down
26 changes: 25 additions & 1 deletion documentation/IDTA-01004/modules/ROOT/pages/changelog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,30 @@

////

[[change-notes]]
= Change Notes

This is the first Release.
== Changes w.r.t. V3.1 vs. V3.0.1

*changed: <ReferenceAttribute> with more detailed definition in BNF Grammar and JSON Schema
*changed: <IdentifiableObject>, <ReferableObject>, <FragmentObject>, <DescriptorObject> with more detailed definition in BNF Grammar and JSON Schema


== Changes w.r.t. V3.0.1 vs. V3.0

Bugfixes:

* changed: Removed incorrect but required whitespaces from grammar and examples [#477 of API](https://github.com/admin-shell-io/aas-specs-api/issues/477)
* changed: fixed idShortPath definition in the BNF Grammar for the Query Language [#34](https://github.com/admin-shell-io/aas-specs-security/issues/34)
* changed: xref:access-rule-model.adoc#text-serialization-of-values-of-type-reference[text serialization of Reference] does not follow text serialization of Part 1 of References, the updated grammar will be added in the V3.1 [#33](https://github.com/admin-shell-io/aas-specs-security/issues/33)

Check failure on line 26 in documentation/IDTA-01004/modules/ROOT/pages/changelog.adoc

View workflow job for this annotation

GitHub Actions / qodana

Link Resolve inspection

Anchor doesn't resolve


Minor Changes:

* changed: correct xref:annex/text-access-rule-examples.adoc#allow-read-submodels-id-pattern[example] in Annex
* removed: remove <FieldIdentifierString> in grammar and use <FieldIdentifier> directly


== Changes V3.0

This is the first release
16 changes: 11 additions & 5 deletions documentation/IDTA-01004/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,37 @@ This specification is part of the https://industrialdigitaltwin.org/en/content-h

== Version

This is version 3.0 of the specification IDTA-01004.
This is version 3.0.1 of the specification IDTA-01004.

Previous version: 3.0.

[#metamodel-versions]
== Metamodel Versions

This document (version 3.0) uses the following parts of the “Specification of the Asset Administration Shell” series:
This document uses the following parts and versions of the “Specification of the Asset Administration Shell” series:

* IDTA-01001 Part 1: Metamodel in version 3.1 xref:bibliography.adoc#bib1[[1\]]
* IDTA-01002 Part 2: Application Programming Interfaces in version 3.1 xref:bibliography.adoc#bib2[[2\]]
* IDTA-01003-a Part 3a: Data Specification – IEC 61360 in version 3.1 xref:bibliography.adoc#bib3[[3\]]

If there are bugfixes of the parts, these shall be used.

== Notice

Copyright: Industrial Digital Twin Association e.V. (IDTA)

DOI: https://doi.org/10.62628/IDTA.01004-3-0
DOI: https://doi.org/10.62628/IDTA.01004-3-0-1

IDTA Number: IDTA-01004

IDTA Document Number: IDTA-01004-3-0
Version: 3.0.1

This work is licensed under a
https://creativecommons.org/licenses/by/4.0/[Creative Commons Attribution 4.0 International License].

SPDX-License-Identifier: CC-BY-4.0

May 2025
July 2025

== How to Get in Contact

Expand Down
80 changes: 45 additions & 35 deletions documentation/IDTA-01004/modules/ROOT/partials/bnf/access-rules.bnf
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@
"GLOBAL" <ws> "(" <ws> ( "LOCALNOW" | "UTCNOW" | "CLIENTNOW" | "ANONYMOUS" ) <ws> ")"

<ReferenceAttribute> ::=
"REFERENCE" <ws> "(" <ws> <ReferenceLiteral> <ws> ")"
"REFERENCE(" (
("$aas" <IdentifierInstance> "#" <FieldsAAS> ) |
("$sm" <IdentifierInstance> "#" <FieldsSM> ) |
("$cd" <IdentifierInstance> "#" <FieldsCD> ) |
("$sme" <IdentifierInstance> "." <idShortPath> "#" <FieldsSME> )
) ")"

<AttributeGroup> ::=
( <SingleAttribute> <ws> )*
Expand All @@ -56,17 +61,20 @@
<RouteObject> ::=
"ROUTE" <ws> <RouteLiteral> <ws>

<IdentifierInstance> ::= "(" <StringLiteral> ")"
<IdentifierInstanceOrAll> ::= <IdentifierInstance> | "(\"*\")"

<IdentifiableObject> ::=
"IDENTIFIABLE" <ws> <IdentifiableLiteral> <ws>
"IDENTIFIABLE" <ws> ("$aas" | "$sm" | "$cd") <IdentifierInstanceOrAll>

<ReferableObject> ::=
"REFERABLE" <ws> <ReferableLiteral> <ws>
"REFERABLE" <ws> "$sme" <IdentifierInstanceOrAll> "." <idShortPath>

<FragmentObject> ::=
"FRAGMENT" <ws> <FragmentLiteral> <ws>

"FRAGMENT" <ws> "$sme" <IdentifierInstanceOrAll> "." <idShortPath> ( <ws> <StringLiteral> )+
<DescriptorObject> ::=
"DESCRIPTOR" <ws> <DescriptorLiteral> <ws>
"DESCRIPTOR" <ws> ("$aasdesc" | "$smdesc") <IdentifierInstanceOrAll>

<ObjectGroup> ::=
( <SingleObject> <ws> )*
Expand Down Expand Up @@ -103,13 +111,13 @@
<stringComparison> ::=
( ( "$starts-with" | "$ends-with" | "$contains" | "$regex") <ws> "(" <ws> <stringOperand> <ws> "," <ws> <stringOperand> <ws> ")" <ws> ) |
( <stringOperand> <ws> <allComparisons> <ws> <stringOperand> <ws> ) |
( <stringOperand> <ws> <allComparisons> <ws> <FieldIdentifierString> <ws> ) |
( <FieldIdentifierString> <ws> <allComparisons> <ws> <stringOperand> <ws> )
( <stringOperand> <ws> <allComparisons> <ws> <FieldIdentifier> <ws> ) |
( <FieldIdentifier> <ws> <allComparisons> <ws> <stringOperand> <ws> )

<numericalComparison> ::=
( <numericalOperand> <ws> <allComparisons> <ws> <numericalOperand> <ws> ) |
( <numericalOperand> <ws> <allComparisons> <ws> <FieldIdentifierString> <ws> ) |
( <FieldIdentifierString> <ws> <allComparisons> <ws> <numericalOperand> <ws> )
( <numericalOperand> <ws> <allComparisons> <ws> <FieldIdentifier> <ws> ) |
( <FieldIdentifier> <ws> <allComparisons> <ws> <numericalOperand> <ws> )

<hexComparison> ::=
<hexOperand> <ws> <allComparisons> <ws> <hexOperand> <ws>
Expand All @@ -129,7 +137,7 @@
<operand> ::= <stringOperand> | <numericalOperand> | <hexOperand> | <boolOperand> | <dateTimeOperand> | <timeOperand>

<stringOperand> ::=
<FieldIdentifierString> | <StringLiteral> | <castToString> | <SingleAttribute>
<FieldIdentifier> | <StringLiteral> | <castToString> | <SingleAttribute>

<numericalOperand> ::=
<NumericalLiteral> | <castToNumerical> | <dateTimeToNum>
Expand Down Expand Up @@ -164,25 +172,23 @@
<castToTime> ::=
"time" <ws> "(" <ws> ( <stringOperand> | <dateTimeOperand> ) <ws> ")" <ws>


<DateTimeLiteral> ::= <datetime> <ws>
<TimeLiteral> ::= <time> <ws>
<datetime> ::= <date> <ws> ( "T" | " " ) <ws> <time> <ws> ( <timezone> <ws> )?
<date> ::= <year> <ws> "-" <ws> <month> <ws> "-" <ws> <day> <ws>
<year> ::= <digit> <ws> <digit> <ws> <digit> <ws> <digit> <ws>
<month> ::= <digit> <ws> <digit> <ws>
<day> ::= <digit> <ws> <digit> <ws>
<time> ::= <hour> <ws> ":" <ws> <minute> <ws> ( ":" <ws> <second> <ws> )? ( "." <ws> <fraction> <ws> )?
<timezone> ::= ( "Z" | ( "+" | "-" ) <ws> <hour> <ws> ":" <ws> <minute> <ws> )
<hour> ::= <digit> <ws> <digit> <ws>
<minute> ::= <digit> <ws> <digit> <ws>
<second> ::= <digit> <ws> <digit> <ws>
<fraction> ::= <digit>+ <ws>

<digit> ::= [0-9] <ws>
<datetime> ::= <date> ( "T" | "" ) <time> ( <timezone> )?
<date> ::= <year> "-" <month> "-" <day>
<year> ::= <digit> <digit> <digit> <digit>
<month> ::= <digit> <digit>
<day> ::= <digit> <digit>
<time> ::= <hour> ":" <minute> ( ":" <second> )? ( "." <fraction> )?
<timezone> ::= ( "Z" | ( "+" | "-" ) <hour> ":" <minute> )
<hour> ::= <digit> <digit>
<minute> ::= <digit> <digit>
<second> ::= <digit> <digit>
<fraction> ::= <digit>+
<digit> ::= [0-9]
<StringLiteral> ::= "\"" ( [A-Z] | [a-z] | [0-9] | "/" | "*" | "[" | "]" | "(" | ")" | " " | "_" | "@" | "#" | "\\" | "+" | "-" | "." | "," | ":" | "$" | "^" )+ "\""
<ClaimLiteral> ::= <StringLiteral>
<ReferenceLiteral> ::= <StringLiteral>
<RouteLiteral> ::= <StringLiteral>
<IdentifiableLiteral> ::= <StringLiteral>
<ReferableLiteral> ::= <StringLiteral>
Expand All @@ -191,12 +197,16 @@
<NumericalLiteral> ::= ( "+" | "-" )? ( [0-9]+ ( "." [0-9]* )? | "." [0-9]+ ) ( ( "e" | "E" )? [0-9]+ )
<HexLiteral> ::= "16#" ( [0-9] | [A-F] )+
<BoolLiteral> ::= "true" | "false"
<FieldIdentifier> ::= <FieldIdentifierString>
<FieldIdentifierString> ::= <FieldIdentifierAAS> | <FieldIdentifierSM> | <FieldIdentifierSME> | <FieldIdentifierCD> | <FieldIdentifierAasDescriptor> | <FieldIdentifierSmDescriptor>
<FieldIdentifierAAS> ::= "$aas#" ( "idShort" | "id" | "assetInformation.assetKind" | "assetInformation.assetType" | "assetInformation.globalAssetId" | "assetInformation." <SpecificAssetIdsClause> | "submodels." <ReferenceClause> )
<FieldIdentifierSM> ::= "$sm#" ( <SemanticIdClause> | "idShort" | "id" )
<FieldIdentifierSME> ::= "$sme" ( "." <idShortPath> )? "#" ( <SemanticIdClause> | "idShort" | "value" | "valueType" | "language" )
<FieldIdentifierCD> ::= "$cd#" ( "idShort" | "id" ) <ws>

<FieldIdentifier> ::= <FieldIdentifierAAS> | <FieldIdentifierSM> | <FieldIdentifierSME> | <FieldIdentifierCD> | <FieldIdentifierAasDescriptor> | <FieldIdentifierSmDescriptor>
<FieldIdentifierAAS> ::= "$aas#" <FieldsAAS>
<FieldsAAS> ::= "idShort" | "id" | "assetInformation.assetKind" | "assetInformation.assetType" | "assetInformation.globalAssetId" | "assetInformation." <SpecificAssetIdsClause> | "submodels." <ReferenceClause>
<FieldIdentifierSM> ::= "$sm#" <FieldsSM>
<FieldsSM> ::= <SemanticIdClause> | "idShort" | "id"
<FieldIdentifierCD> ::= "$cd#" <FieldsCD>
<FieldsCD> ::= "idShort" | "id"
<FieldIdentifierSME> ::= "$sme" ( "." <idShortPath> )? "#" <FieldsSME>
<FieldsSME> ::= <SemanticIdClause> | "idShort" | "value" | "valueType" | "language"
<FieldIdentifierAasDescriptor> ::= "$aasdesc#" ( "idShort" | "id" | "assetKind" | "assetType" | "globalAssetId" | <SpecificAssetIdsClause> | "endpoints" ( "[" ( [0-9]* ) "]" ) "." <EndpointClause> | "submodelDescriptors" ( "[" ( [0-9]* ) "]" ) "." <SmDescriptorClause> )
<FieldIdentifierSmDescriptor> ::= "$smdesc#" <SmDescriptorClause>
<SmDescriptorClause> ::= ( <SemanticIdClause> | "idShort" | "id" | "endpoints" ( "[" ( [0-9]* ) "]" ) "." <EndpointClause> )
Expand All @@ -205,7 +215,7 @@
<ReferenceClause> ::= ( "type" | "keys" ( "[" ( [0-9]* ) "]" ) ( ".type" | ".value" ) )
<SemanticIdClause> ::= ( "semanticId" | "semanticId." <ReferenceClause> )
<SpecificAssetIdsClause> ::= ( "specificAssetIds" ( "[" ( [0-9]* ) "]" ) ( ".name" | ".value" | ".externalSubjectId" | ".externalSubjectId." <ReferenceClause> ) )
<idShortPath> ::= ( <idShort> ("[" ( [0-9]* ) "]" ) ( "." <idShortPath> )* )
<idShort> ::= ( ( [a-z] | [A-Z] ) ( [a-z] | [A-Z] | [0-9] | "_" )* )
<idShortPath> ::= ( <idShort> ("[" ( [0-9]* ) "]" )* ( "." <idShortPath> )* )
<idShort> ::= ( ( [a-z] | [A-Z] ) (( [a-z] | [A-Z] | [0-9] | "_" | "-" )* ( [a-z] | [A-Z] | [0-9] | "_" ) )? )

<ws> ::= ( " " | "\t" | "\r" | "\n" )+
<ws> ::= ( " " | "\t" | "\r" | "\n" )*
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,12 @@
"GLOBAL" <ws> "(" <ws> ( "LOCALNOW" | "UTCNOW" | "CLIENTNOW" | "ANONYMOUS" ) <ws> ")"

<ReferenceAttribute> ::=
"REFERENCE" <ws> "(" <ws> <ReferenceLiteral> <ws> ")"
"REFERENCE(" (
("$aas" <IdentifierInstance> "#" <FieldsAAS> ) |
("$sm" <IdentifierInstance> "#" <FieldsSM> ) |
("$cd" <IdentifierInstance> "#" <FieldsCD> ) |
("$sme" <IdentifierInstance> "." <idShortPath> "#" <FieldsSME> )
) ")"

<AttributeGroup> ::=
( <SingleAttribute> <ws> )*
Expand Down
13 changes: 8 additions & 5 deletions documentation/IDTA-01004/modules/ROOT/partials/bnf/objects.bnf
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@
<RouteObject> ::=
"ROUTE" <ws> <RouteLiteral> <ws>

<IdentifierInstance> ::= "(" <StringLiteral> ")"
<IdentifierInstanceOrAll> ::= <IdentifierInstance> | "(\"*\")"

<IdentifiableObject> ::=
"IDENTIFIABLE" <ws> <IdentifiableLiteral> <ws>
"IDENTIFIABLE" <ws> ("$aas" | "$sm" | "$cd") <IdentifierInstanceOrAll>

<ReferableObject> ::=
"REFERABLE" <ws> <ReferableLiteral> <ws>
"REFERABLE" <ws> "$sme" <IdentifierInstanceOrAll> "." <idShortPath>

<FragmentObject> ::=
"FRAGMENT" <ws> <FragmentLiteral> <ws>

"FRAGMENT" <ws> "$sme" <IdentifierInstanceOrAll> "." <idShortPath> ( <ws> <StringLiteral> )+
<DescriptorObject> ::=
"DESCRIPTOR" <ws> <DescriptorLiteral> <ws>
"DESCRIPTOR" <ws> ("$aasdesc" | "$smdesc") <IdentifierInstanceOrAll>

Check warning on line 20 in documentation/IDTA-01004/modules/ROOT/partials/bnf/objects.bnf

View workflow job for this annotation

GitHub Actions / qodana

Typo

Typo: In word 'smdesc'

Check warning on line 20 in documentation/IDTA-01004/modules/ROOT/partials/bnf/objects.bnf

View workflow job for this annotation

GitHub Actions / qodana

Typo

Typo: In word 'aasdesc'

<ObjectGroup> ::=
( <SingleObject> <ws> )*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ACCESSRULE:
RIGHTS: READ
ACCESS: ALLOW
OBJECTS:
IDENTIFIABLE "(Submodel)*"
IDENTIFIABLE $sm("*")
FORMULA:
$and(
$or(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
},
"OBJECTS": [
{
"IDENTIFIABLE": "(Submodel)*"
"IDENTIFIABLE": "$sm(\"*\")"
}
],
"FORMULA": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ ACCESSRULE:
RIGHTS: READ
ACCESS: ALLOW
OBJECTS:
IDENTIFIABLE "(Submodel)*"
IDENTIFIABLE $sm("*")
FORMULA:
$and(
$or(
$sm#semanticId $eq "SemanticID-Nameplate",
$sm#semanticId $eq "SemanticID-TechnicalData"
),
CLAIM("companyName") $eq "company1-name",
$regex(REFERENCE("(Submodel)*#Id"), "^https://company1.com/.*$"),
$regex($sm#id, "^https://company1.com/.*$"),
GLOBAL(UTCNOW) $ge "09:00",
GLOBAL(UTCNOW) $le "17:00"
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
},
"OBJECTS": [
{
"ROUTE": "*"
"IDENTIFIABLE": "$sm(\"*\")"
}
],
"FORMULA": {
Expand Down Expand Up @@ -60,7 +60,7 @@
"$regex": [
{
"$attribute": {
"REFERENCE": "(Submodel)*#Id"
"REFERENCE": "$sm#id"
}
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ ACCESSRULE:
RIGHTS: READ UPDATE
ACCESS: ALLOW
OBJECTS:
IDENTIFIABLE "(Submodel)https://submodel1.company1.com"
IDENTIFIABLE $sm("https://submodel1.company1.com")
FORMULA:
CLAIM("email") $eq "user1@company1.com"
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
},
"OBJECTS": [
{
"IDENTIFIABLE": "(Submodel)https://submodel1.company1.com"
"IDENTIFIABLE": "$sm(\"https://submodel1.company1.com\")"
}
],
"FORMULA": {
Expand Down
Loading